RxJS – 等待5个事件发生,然后再继续
我有一个简单的RxJS5观察像这样:
function foo(){ return Rx.Observable.create(obs => { obs.next(); }); }
可观察的是这样创build的:
const x = foo(); function bar(){ return someObs() .flatMap(() => x.wait(5)) // wait for x to fire 5 times .map(v => ({z:v})); }
我想要做的就是等待X个可观察对象中的5个事件发生,然后再继续。
我不认为这个运营商是我想要的,所以我只是叫运营商“ wait
”
我怎样才能用RxJS5做到这一点?
您正在寻找的操作员是跳过
return someObs() .skip(5) .map(v => ({z:v}));
好吧,看起来我可以这样做:
return this.obsEnqueue.take(5).takeLast(1);
因为我最终只想发一个事件,等待5个事件之后
如果有更好的方法来做到这一点,肯定会喜欢听到的