これは興味深いものです。私は FRP を使用しており、さまざまなライブラリ (jQuery、Bacon.js) で「デバウンス」メソッドを調べています。私はこれを使い始めましたが、ほとんど必要なことを行っていることがわかりましたが、微妙な違いがあります. イベント処理に関連するデバウンスについての私の理解は次のとおりです。
少なくとも一定の頻度でイベントが発生している場合は、何もしないでください。イベントの速度が低下して頻度を下回ったら、イベント ハンドラーを起動します。たとえば (疑似コード) のkey-presses.debounce(1 second) then Alert
場合、最後のキーが押されてから 1 秒以内にキーが 1 秒以内に押された場合、何も起こらず、アラートが表示されます。
私が必要としているのは、シーケンスの終了後ではなく、開始時に発火するものです。したがって、同じ例では、アラートがすぐに表示され、その後は何も表示されません。ユーザーが 1 秒以上経過してから再度キーを押し始めると、別のアラートが表示され、その後は何も表示されません。
コードは簡単です。名前が欲しいだけです。頻度には、BeginSequence(1000)? という 1 つの引数が必要です。AfterExpiry(1000)?
助言がありますか?