--- category: Animation --- # useInterval Reactive counter increases on every interval ## Usage ```ts import { useInterval } from '@vueuse/core'; // count will increase every 200ms const counter = useInterval(200); ``` ```ts import { useInterval } from '@vueuse/core'; // ---cut--- const { counter, reset, pause, resume } = useInterval(200, { controls: true, }); ``` ## Type Declarations ```ts export interface UseIntervalOptions { /** * Expose more controls * * @default false */ controls?: Controls; /** * Execute the update immediately on calling * * @default true */ immediate?: boolean; /** * Callback on every interval */ callback?: (count: number) => void; } export interface UseIntervalControls { counter: ShallowRef; reset: () => void; } export type UseIntervalReturn = | Readonly> | Readonly; /** * Reactive counter increases on every interval * * @see https://vueuse.org/useInterval * @param interval * @param options */ export declare function useInterval( interval?: MaybeRefOrGetter, options?: UseIntervalOptions, ): Readonly>; export declare function useInterval( interval: MaybeRefOrGetter, options: UseIntervalOptions, ): Readonly; ```