Skip to content

watchDebounced

Category
Export Size
455 B
Last Changed
4 days ago
Alias
debouncedWatch

Debounced watch

Demo

Delay is set to 1000ms and maxWait is set to 5000ms for this demo.

Input:

Times Updated: 0

Usage

Similar to watch, but offering extra options debounce and maxWait which will be applied to the callback function.

ts
import { 
watchDebounced
} from '@vueuse/core'
watchDebounced
(
source, () => {
console
.
log
('changed!') },
{
debounce
: 500,
maxWait
: 1000 },
)

It's essentially a shorthand for the following code:

ts
import { 
debounceFilter
,
watchWithFilter
} from '@vueuse/core'
watchWithFilter
(
source, () => {
console
.
log
('changed!') },
{
eventFilter
:
debounceFilter
(500, {
maxWait
: 1000 }),
}, )

Type Declarations

ts
export interface 
WatchDebouncedOptions
<
Immediate
>
extends WatchOptions<
Immediate
>,
DebounceFilterOptions {
debounce
?:
MaybeRefOrGetter
<number>
} export declare function
watchDebounced
<
T
extends
Readonly
<
WatchSource
<unknown>[]>,
Immediate
extends
Readonly
<boolean> = false,
>(
sources
: [...
T
],
cb
:
WatchCallback
<
MapSources
<
T
>,
MapOldSources
<
T
,
Immediate
>>,
options
?:
WatchDebouncedOptions
<
Immediate
>,
):
WatchStopHandle
export declare function
watchDebounced
<
T
,
Immediate
extends
Readonly
<boolean> = false,
>(
source
:
WatchSource
<
T
>,
cb
:
WatchCallback
<
T
,
Immediate
extends true ?
T
| undefined :
T
>,
options
?:
WatchDebouncedOptions
<
Immediate
>,
):
WatchStopHandle
export declare function
watchDebounced
<
T
extends object,
Immediate
extends
Readonly
<boolean> = false,
>(
source
:
T
,
cb
:
WatchCallback
<
T
,
Immediate
extends true ?
T
| undefined :
T
>,
options
?:
WatchDebouncedOptions
<
Immediate
>,
):
WatchStopHandle
export {
watchDebounced
as
debouncedWatch
}

Source

SourceDemoDocs

Contributors

NoiseFan

Changelog

No recent changes

Released under the MIT License.