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()
进入主题。
(我想这个问题我真的要问的是:如何从可观察到的创建主题?)