Skip to content

watchAtMost

Category
Export Size
339 B
Last Changed
last month

watch with the number of times triggered.

Usage

Similar to watch with an extra option count which set up the number of times the callback function is triggered. After the count is reached, the watch will be stopped automatically.

ts
import { 
watchAtMost
} from '@vueuse/core'
watchAtMost
(
source, () => {
console
.
log
('trigger!') }, // triggered it at most 3 times
{
count
: 3, // the number of times triggered
}, )

Type Declarations

Show Type Declarations
ts
export interface 
WatchAtMostOptions
<
Immediate
,
> extends WatchWithFilterOptions<
Immediate
> {
count
:
MaybeRefOrGetter
<number>
} export interface WatchAtMostReturn {
stop
:
WatchStopHandle
pause
: () => void
resume
: () => void
count
:
ShallowRef
<number>
} export declare function
watchAtMost
<
T
,
Immediate
extends
Readonly
<boolean> = false,
>(
sources
:
WatchSource
<
T
>,
cb
:
WatchCallback
<
T
,
Immediate
extends true ?
T
| undefined :
T
>,
options
:
WatchAtMostOptions
<
Immediate
>,
): WatchAtMostReturn export declare function
watchAtMost
<
T
extends
Readonly
<
MultiWatchSources
>,
Immediate
extends
Readonly
<boolean> = false,
>(
sources
: [...
T
],
cb
:
WatchCallback
<
MapSources
<
T
>,
MapOldSources
<
T
,
Immediate
>>,
options
:
WatchAtMostOptions
<
Immediate
>,
): WatchAtMostReturn export declare function
watchAtMost
<
T
extends object,
Immediate
extends
Readonly
<boolean> = false,
>(
sources
:
T
,
cb
:
WatchCallback
<
MapSources
<
T
>,
MapOldSources
<
T
,
Immediate
>>,
options
:
WatchAtMostOptions
<
Immediate
>,
): WatchAtMostReturn

Source

SourceDocs

Contributors

Anthony Fu
Anthony Fu
IlyaL
山吹色御守
Kricsleo
Arthur Darkstone
vaakian X
lvjiaxuan
lvjiaxuan
HG
webfansplz

Changelog

Pending for release...
f1d32 - fix(shared): align overloads order of watch functions with original version (#5288)
v14.0.0-alpha.3 on
d3176 - feat: add pause and resume to return value (#4897)
v12.8.0 on
7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
v12.3.0 on
59f75 - feat(toValue): deprecate toValue from @vueuse/shared in favor of Vue's native
v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)

Released under the MIT License.

The new era of AI engineering.
Workflows, artifacts, and judgment that scale.
Request Early Access