Skip to content

useTimeout ​

Category
Export Size
565 B
Last Changed
last month

Update value after a given time with controls.

Demo ​

Ready: false

Usage ​

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

const ready = useTimeout(1000)
js
const { ready, start, stop } = useTimeout(1000, { controls: true })
js
console.log(ready.value) // false

await promiseTimeout(1200)

console.log(ready.value) // true

Type Declarations ​

typescript
export interface UseTimeoutOptions<Controls extends boolean>
  extends UseTimeoutFnOptions {
  /**
   * Expose more controls
   *
   * @default false
   */
  controls?: Controls
  /**
   * Callback on timeout
   */
  callback?: Fn
}
/**
 * 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

Source ​

Source • Demo • Docs

Contributors ​

Anthony Fu
Anthony Fu
huiliangShen
Waleed Khaled
vaakian X
Jelf
Shinigami
Mark Noonan

Changelog ​

v12.0.0-beta.1 on 11/21/2024
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v10.10.0 on 5/27/2024
4eede - feat: target support reactivity (#3923)

Released under the MIT License.