RxJS - 等到 5 个事件发生后再继续

RxJS - Wait until 5 events to occur before continuing

我有一个简单的 RxJS5 observable,如下所示:

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 做到这一点?

好的,看来我可以做到:

 return this.obsEnqueue.take(5).takeLast(1);

因为我最终只想触发 1 个事件, 等待 5 个事件后

如果有更好的方法,一定想听听

您要找的运营商是skip

 return someObs()
   .skip(5)
   .map(v => ({z:v}));