Lzh on GitHub

在给定时间后更新值,并提供控制功能。

用法

import { promiseTimeout, useTimeout } from '@vueuse/core'

const ready = useTimeout(1000)

如果你需要 控制超时,例如开始和停止:

const { ready, start, stop } = useTimeout(1000, { controls: true })

console.log(ready.value) // false
await promiseTimeout(1200)
console.log(ready.value) // true

类型声明

export interface UseTimeoutOptions<Controls extends boolean>
  extends UseTimeoutFnOptions {
  /**
   * Expose more controls
   *
   * @default false
   */
  controls?: Controls
  /**
   * Callback on timeout
   */
  callback?: Fn
}
export type UseTimoutReturn =
  | ComputedRef<boolean>
  | ({
      readonly ready: ComputedRef<boolean>
    } & Stoppable)
/**
 * Update value after a given time with controls.
 *
 * @see   {@link https://vueuse.org/useTimeout}
 * @param interval
 * @param options
 */
export declare function useTimeout(
  interval?: MaybeRefOrGetter<number>,
  options?: UseTimeoutOptions<false>,
): ComputedRef<boolean>
export declare function useTimeout(
  interval: MaybeRefOrGetter<number>,
  options: UseTimeoutOptions<true>,
): {
  ready: ComputedRef<boolean>
} & Stoppable