我有一个简单的RxJS5可观察对象:
function foo(){
return Rx.Observable.create(obs => {
obs.next();
});
}
observable的创建方式如下:
const x = foo();
function bar(){
return someObs()
.flatMap(() => x.wait(5)) // wait for x to fire 5 times
.map(v => ({z:v}));
}
我想要做的是等待x observable中的5个事件在继续之前触发。
我认为take
运营商不是我想要的,所以我只是打电话给运营商" wait
"
如何使用RxJS5做到这一点?
答案 0 :(得分:1)
您正在寻找的运营商是skip
return someObs()
.skip(5)
.map(v => ({z:v}));
答案 1 :(得分:0)
好的,看起来我可以这样做:
return this.obsEnqueue.take(5).takeLast(1);
因为我最终只想开一场比赛, 等待5个事件后
如果有更好的方法可以做到这一点,肯定会喜欢听到它