处方药。如果最近触发,如何等待其他可观察对象
RxJs. How to wait for other observable if it fired recently
基本上我有两个不时触发事件的订阅。
第一个非常简单,它加载并显示一些数据:
observableOne$.switchMap(event => {
return loadData(event);
}).subscribe(data => {
displayData(data);
});
第二次转换显示数据,转换只做一次:
observableTwo$.subscribe(event => {
transformDisplayedData(event);
});
我面临的问题是,如果第二个事件在第一个事件之后立即触发,那么转换就会丢失。而且我不能重新申请,这是一次性的。
如果 observableOne$
最近被解雇了,有没有办法推迟转型?
时序如下所示:
One : -a----------a----->
Two : -----b------b----->
Display : ---a----------a---> // lag is due to async data loading
Transform: -----b--------b--->
编辑
我创建了一个带有演示的fiddle。实际的时间顺序可以这样写:
PageClick : -x----------x----->
HighlightClick : -----x------x----->
DataRender : ---x----------x--->
DataHighlight : -----x------x----->
当 PageClick 和 HighlightClick 一起使用时,数据会突出显示并稍后呈现。但我想推迟突出显示,因此需要时间顺序:
PageClick : -x----------x----->
HighlightClick : -----x------x----->
DataRender : ---x----------x--->
DataHighlight : -----x--------x--->
如果有人对此感兴趣,可以通过引入中间流来完成,事件 start loading
和 end loading
通过中间流传递。有关详细信息,请参阅此
基本上我有两个不时触发事件的订阅。
第一个非常简单,它加载并显示一些数据:
observableOne$.switchMap(event => {
return loadData(event);
}).subscribe(data => {
displayData(data);
});
第二次转换显示数据,转换只做一次:
observableTwo$.subscribe(event => {
transformDisplayedData(event);
});
我面临的问题是,如果第二个事件在第一个事件之后立即触发,那么转换就会丢失。而且我不能重新申请,这是一次性的。
如果 observableOne$
最近被解雇了,有没有办法推迟转型?
时序如下所示:
One : -a----------a----->
Two : -----b------b----->
Display : ---a----------a---> // lag is due to async data loading
Transform: -----b--------b--->
编辑
我创建了一个带有演示的fiddle。实际的时间顺序可以这样写:
PageClick : -x----------x----->
HighlightClick : -----x------x----->
DataRender : ---x----------x--->
DataHighlight : -----x------x----->
当 PageClick 和 HighlightClick 一起使用时,数据会突出显示并稍后呈现。但我想推迟突出显示,因此需要时间顺序:
PageClick : -x----------x----->
HighlightClick : -----x------x----->
DataRender : ---x----------x--->
DataHighlight : -----x--------x--->
如果有人对此感兴趣,可以通过引入中间流来完成,事件 start loading
和 end loading
通过中间流传递。有关详细信息,请参阅此