UNPKG

@element-plus-next/vue-hooks

Version:
19 lines (14 loc) 426 B
import { tryOnScopeDispose } from '@vueuse/core' export function useTimeout() { let timeoutHandle: number const registerTimeout = (fn: (...args: any[]) => any, delay: number) => { cancelTimeout() timeoutHandle = window.setTimeout(fn, delay) } const cancelTimeout = () => window.clearTimeout(timeoutHandle) tryOnScopeDispose(() => cancelTimeout()) return { registerTimeout, cancelTimeout, } }