RxJS 中审计和去抖之间的区别?

Difference between audit and debounce in RxJS?

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

对我来说,它们看起来完全相似。

如果有区别请指出

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

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

这是一个弹珠图来比较 *Time 对应物:

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

在这里玩这个弹珠图:debounceTime vs throttleTime vs auditTime vs sampleTime

这里还有更 in-depth 的评论:RxJS debounce vs throttle vs audit vs sample | dev.to

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

希望这对某人有所帮助