我正在寻找一种每秒异步推送数组元素的简单方法。这段代码工作正常 - 它发送2和一秒钟55:
ComponentFactoryResolver
有没有更简单的方法来做同样的事情?
谢谢。
答案 0 :(得分:0)
使用toArray()
Rx.Observable
.interval(1000)
.take(3)
.toArray()
.subscribe(x=>console.log(x))
答案 1 :(得分:0)
请查看combineLatest
和withLatestFrom
,但这实际上取决于您尝试做的事情。
顺便说一下,在这种情况下使用.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])
我不知道的是它是否更简单。