web-dev-qa-db-ja.com

rxjsの監査とデバウンスの違いは?

私はrxjsの公式ドキュメントを読んでいて、両方がまったく同じことをしていることに気づきました。

私には、どちらもまったく同じように見えます。

誰かがそれらの違いを指摘してください(もしあれば)

26
Godfather

Timeバージョンの観点からそれらの違いを説明します。それが、私がそれらを最もよく理解する方法だからです。

auditTimedebounceTimeはどちらも、イベントが発生すると最初にタイマーを開始します。どちらも、イベントを発行する前に、指定された時間待機します。違いは、debounceTimeは新しいイベントが発生するたびにタイマーをリセットし、auditTimeはそうではないことです。 auditTimeは、まだイベントを受信して​​いるかどうかに関係なく、指定されたミリ秒数後に最新のイベントを発行します。 debounceTimeは、イベントのギャップを待ちます。あなたはドキュメントを読んだと言いましたが、私が見つけたのを再確認するために this ドキュメントは特に役に立ちました。

41
qfwfq

*Timeの対応物を比較するための大理石の図を次に示します。

debounceTime vs throttleTime vs auditTime vs sampleTime

ここでの各値は、その放出の時間を表します。

ここでこの大理石の図を試すことができます:debounceTime vsthrottleTime vs auditTime vs sampleTime

@ qfwfqによる素晴らしい回答がすでにあるので、もっと視覚的な説明を追加したいと思いました。

これが誰かを助けることを願っています

11
kos