Demo
Please wait for 3 seconds
useTimeoutFn
Wrapper for setTimeout with controls.
js
import { useTimeoutFn } from '@vueuse/core'
const { isPending, start, stop } = useTimeoutFn(() => {
  /* ... */
}, 3000)
import { useTimeoutFn } from '@vueuse/core'
const { isPending, start, stop } = useTimeoutFn(() => {
  /* ... */
}, 3000)
Type Declarations
typescript
export interface UseTimeoutFnOptions {
  /**
   * Start the timer immediate after calling this function
   *
   * @default true
   */
  immediate?: boolean
}
/**
 * Wrapper for `setTimeout` with controls.
 *
 * @param cb
 * @param interval
 * @param options
 */
export declare function useTimeoutFn(
  cb: (...args: unknown[]) => any,
  interval: MaybeComputedRef<number>,
  options?: UseTimeoutFnOptions
): Stoppable
export interface UseTimeoutFnOptions {
  /**
   * Start the timer immediate after calling this function
   *
   * @default true
   */
  immediate?: boolean
}
/**
 * Wrapper for `setTimeout` with controls.
 *
 * @param cb
 * @param interval
 * @param options
 */
export declare function useTimeoutFn(
  cb: (...args: unknown[]) => any,
  interval: MaybeComputedRef<number>,
  options?: UseTimeoutFnOptions
): Stoppable