在高阶rxjs可观察中收集当前不完整的observable

时间:2016-08-12 21:04:46

标签: javascript rxjs rxjs5 reactivex

例如,我有一个可观测量,每5秒发出一个10秒的计时器。我可以使用scan来创建一个observable,它发出到目前为止发出的所有内部observable的数组:

tick = 5000
tock = 1000
timers = Observable.interval(tick).scan( (acc, next) => {
    let timer = Observable.interval(tock).take(10);
    return acc.concat([timer]);
}, []);

但是,如果我想发射它以发出所有" live"计时器(即那些尚未被称为complete的人)?

这是我想到的蹩脚的ascii大理石图:

-A--B-----
  \  \
   \  \
    \  x
     x
 |  |    |
[A][A,B] []

有没有办法使用标准运算符来执行此操作,或者这不是尝试使用rxjs的惯用内容?

1 个答案:

答案 0 :(得分:1)

你应该可以使用" active"在这个答案中描述的方法实现了你想要的:

Rx: a zip-like operator that continues after one of the streams ended?

相关问题