跳到主要内容

watchThrottled

分类
导出大小
531 B
上次更改
上个月
别名
throttledWatch

节流式侦听。

演示

此演示的延迟设置为 1000 毫秒。

输入

更新次数:0

用法

watch 类似,但提供了一个额外的选项 throttle,该选项将应用于回调函数。

ts
import { 
watchThrottled
} from '@vueuse/core'
watchThrottled
(
source, () => {
console
.
log
('changed!') },
{
throttle
: 500 },
)

它本质上是以下代码的简写

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

类型声明

显示类型声明
ts
export interface 
WatchThrottledOptions
<
Immediate
>
extends WatchOptions<
Immediate
> {
throttle
?:
MaybeRefOrGetter
<number>
trailing
?: boolean
leading
?: boolean
} export declare function
watchThrottled
<
T
extends
Readonly
<
WatchSource
<unknown>[]>,
Immediate
extends
Readonly
<boolean> = false,
>(
sources
: [...
T
],
cb
:
WatchCallback
<
MapSources
<
T
>,
MapOldSources
<
T
,
Immediate
>>,
options
?:
WatchThrottledOptions
<
Immediate
>,
):
WatchHandle
export declare function
watchThrottled
<
T
,
Immediate
extends
Readonly
<boolean> = false,
>(
source
:
WatchSource
<
T
>,
cb
:
WatchCallback
<
T
,
Immediate
extends true ?
T
| undefined :
T
>,
options
?:
WatchThrottledOptions
<
Immediate
>,
):
WatchHandle
export declare function
watchThrottled
<
T
extends object,
Immediate
extends
Readonly
<boolean> = false,
>(
source
:
T
,
cb
:
WatchCallback
<
T
,
Immediate
extends true ?
T
| undefined :
T
>,
options
?:
WatchThrottledOptions
<
Immediate
>,
):
WatchHandle
/** @deprecated use `watchThrottled` instead */ export declare const
throttledWatch
: typeof
watchThrottled

来源

源代码演示文档

贡献者

Anthony Fu
Anthony Fu
sun0day
Arthur Darkstone
Vida Xie
IlyaL
OrbisK
丶远方
lvjiaxuan
Joe Zimmerman
webfansplz

更新日志

b8102 - feat(watch): 更新 watchExtractedObservable, watchDebounced, watchDeep, watchImmediate, watchOnce, watchThrottled 和 watchWithFilter 中 watch 返回值的类型错误 (#4896)
e5f74 - feat!: 弃用别名导出,转而使用原始函数名称 (#5009)
v12.8.0
7432f - feat(types): 废弃 MaybeRefMaybeRefOrGetter,转而使用 Vue 的原生类型 (#4636)
0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)

根据 MIT 许可证发布。