2
我想完成的RxJS的東西,我會用英文表達是這樣的:debounceTime(),並等待事件
等待一個事件從一個流提出,執行某些功能,然後等待從這個流中靜默五秒鐘,然後執行另一個功能。
我曾在這幾次嘗試。流我想訂閱看起來像這樣:
this.documentClick$ = Observable.fromEvent(document.querySelector('body'), 'mousemove')
.merge(Observable.fromEvent(document.querySelector('body'), 'click'));
目前的二個競爭者做的工作,但每個有其缺點:
this.documentClick$
.subscribe(() => {
this.toolbarsVisible = 'visible';
});
this.documentClick$
.debounceTime(5000)
.subscribe(() => {
this.toolbarsVisible = 'hidden';
});
和
this.documentClick$
.do(() => {
this.toolbarsVisible = 'visible';
})
.debounceTime(3000)
.subscribe(() => {
this.toolbarsVisible = 'hidden';
});
是什麼這樣做的「最正確」的方式?我想用一個主題將是最好的,但我不能得到Observable.fromEvent()
進入主題。
(我想這個問題我真的要問的是:如何從可觀察到的創建主題?)