RxJS 中审计和去抖动的区别?

Posted

技术标签:

【中文标题】RxJS 中审计和去抖动的区别?【英文标题】:Difference between audit and debounce in RxJS? 【发布时间】:2017-01-04 05:13:52 【问题描述】:

我正在阅读 RxJS 的官方文档,然后我意识到他们都在做同样的事情。

在我看来,它们都非常相似。

如果有区别,请指出它们之间的区别。

【问题讨论】:

我不同意关闭它们,这似乎是个好问题 【参考方案1】:

我将根据 Time 版本来描述它们之间的区别,因为这是我最了解它们的方式。

auditTimedebounceTime 最初都会在事件进入时启动计时器。两者都会在发出事件之前等待给定的时间。不同之处在于debounceTime 会在有新事件出现时重置计时器,而auditTime 不会。 auditTime 将在给定的毫秒数之后发出最近的事件,无论它是否仍在接收事件。 debounceTime 将等待事件的间隙。您说您阅读了文档,但只是为了仔细检查我发现 this 文档特别有用。

【讨论】:

对我有很大帮助 所以auditTimethrottleTime 相同,带有 leading: false, trailing: true 配置参数。【参考方案2】:

这是一个大理石图来比较 *Time 对应物:

这里的每个值都代表它的发射时间。

在这里玩这个大理石图:debounceTime vs throttleTime vs auditTime vs sampleTime

这里有更深入的评论:RxJS debounce vs throttle vs audit vs sample | dev.to

@qfwfq 已经给出了很棒的答案,我想添加一个更直观的解释。

希望这对某人有所帮助

【讨论】:

以上是关于RxJS 中审计和去抖动的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter TextField 值总是大写和去抖动

节流和去抖动功能

FPGA IO输出时钟抖动大概是多少

mysql之抖动

时序分析中时钟抖动是啥 fpga中如何减少时钟抖动

React Native -Flatlist闪屏或者滑动抖动