mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-08-26 00:26:20 +08:00
refactor(hooks): introduce vueuse, delete duplicate hooks
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
import { isFunction } from '/@/utils/is';
|
||||
import { Ref, watch } from 'vue';
|
||||
|
||||
import { useTimeoutRef } from '/@/hooks/core/useTimeoutRef';
|
||||
|
||||
type TimeoutFnResult = [Fn<void>, Fn<void>, Ref<boolean>];
|
||||
|
||||
export function useTimeout(handle: Fn<any>, wait: number): TimeoutFnResult {
|
||||
if (!isFunction(handle)) {
|
||||
throw new Error('handle is not Function!');
|
||||
}
|
||||
|
||||
const [readyRef, clear, runAgain] = useTimeoutRef(wait);
|
||||
|
||||
watch(
|
||||
readyRef,
|
||||
(maturity) => {
|
||||
maturity && handle();
|
||||
},
|
||||
{ immediate: false }
|
||||
);
|
||||
return [clear, runAgain, readyRef];
|
||||
}
|
Reference in New Issue
Block a user