如何异步推送数组元素

时间:2017-05-06 02:24:52

标签: rxjs

我正在寻找一种每秒异步推送数组元素的简单方法。这段代码工作正常 - 它发送2和一秒钟55:

ComponentFactoryResolver

有没有更简单的方法来做同样的事情?

谢谢。

3 个答案:

答案 0 :(得分:0)

使用toArray()

Rx.Observable
  .interval(1000)
  .take(3)
  .toArray()
  .subscribe(x=>console.log(x))

答案 1 :(得分:0)

请查看combineLatestwithLatestFrom,但这实际上取决于您尝试做的事情。

顺便说一下,在这种情况下使用.zip可能并不理想,因为.zip只有在所有来源Observables中都有 Nth 项目时才会发出#39; t想要。

答案 2 :(得分:0)

如果您使用rxjs v4,则可以使用Rx.Observable.generateWithAbsoluteTime。它基本上是一个具有不同时间的for循环。

或者您可以像{}一样使用interval

Rx.Observable.interval(1000).take(yourArray.length).map(index => yourArray[index])

我不知道的是它是否更简单。