Appearance
useTimeoutFn
Wrapper for setTimeout with controls
Demo
Usage
tsx
import { useTimeoutFn } from '@reause/shared'
const { isPending, start, stop } = useTimeoutFn(() => {
/* ... */
}, 3000)Type Declarations
ts
export interface UseTimeoutFnOptions {
immediate?: boolean;
immediateCallback?: boolean;
}
export interface UseTimeoutFnReturn<CallbackFn extends AnyFn> {
isPending: boolean;
stop: () => void;
start: (...args: Parameters<CallbackFn> | [
]) => void;
}
type AnyFn = (...args: any[]) => any
export function useTimeoutFn<CallbackFn extends AnyFn>(cb: CallbackFn, interval: number, options?: UseTimeoutFnOptions): UseTimeoutFnReturn<CallbackFn>