5
我讓用戶滾動頁面,並在每個滾動事件 - 我檢查是否有一個新的項目在視口
(如果有,我做了一些操作這些新項目 - 現在無關)。RxJS - 油門後的反彈事件?
所以我有這樣的事情:
const observable = Rx.Observable.fromEvent(window, 'scroll');
const subscriber = observable.throttleTime(300 /* ms */).subscribe(
(x) => {
console.log('Next: event!');
},
(err) => {
console.log('Error: %s', err);
},
() => {
console.log('Completed');
});
此代碼工作正常,我的確看到每個300毫秒後的消息。
但是有一個問題。用戶可能會在沒有完成300毫秒的情況下滾動(事件將不會被提升),並且滾動時新項目可見。
這就是我需要的debounce
方法。 (這意味着「在最後一次事件的X毫秒後 - 引發事件」)
這正是我所需要的。
const subscriber = observable.throttleTime(300 /* ms */).debounceTime(350)....
但我只看到了去抖事件。
問題
我如何使用油門和油門的結束 - 附上去抖?
我認爲解決方案將是非常接近[此答案](http://stackoverflow.com/a/43104131/6680611)。 – cartant
檢查是否合併兩個流:節流,去抖適合你https://plnkr.co/edit/lHYVxSSrYA05wBWVqnqr?p=preview –
@YuryTarabanko的確。謝謝。請把它作爲答案發布(如果你想) –