使用事例
- 個人またはグループのリストがあります (FB メッセンジャーのように) (左ペイン)
- 人を切り替えると、メッセージを読み込みます (API 呼び出し)。
- 下向き矢印をすばやく押すと、各人に対して API 呼び出しを行う代わりに、一時停止して待っている人だけを読み込みます。
現在、これを達成するために 300ms のデバウンスを行っています。
handleSwitchKeyEvent: function() { if (this.pendingLoad) { // Still pending continue to debounce clearTimeout(this.pendingLoad); fn = this.loadContent; } else { // No longer pending - So load data immediately this.loadContent(); } // Delay the load this.pendingLoad = setTimeout(function () { clearTimeout(this.pendingLoad); this.pendingLoad = 0; fn && fn.call(this); }, 300); }
問題
- Message1 にいるとき - M1 の詳細が読み込まれます
- キーをすばやく押すと、M2 がロードされ、次のメッセージでデバウンスが発生します)
この M2 負荷を回避したい。同じフローでデバウンスと非デバウンスを混在させることさえ可能かどうかはわかりません