2017-05-06 36 views
0

我正在尋找一種簡單的方法來每秒異步推送數組元素。此代碼工作正常 - 它發送2和第二55:如何異步推送數組元素

Rx.Observable.from([2, 55]) 
    .zip(Rx.Observable.interval(1000), x => x); 

有沒有更簡單的方式做同樣的事情?

謝謝。

回答

0

如果您使用rxjs v4,則可以使用Rx.Observable.generateWithAbsoluteTime。它基本上是一個具有不同時間的循環。

或者你可以使用interval喜歡這裏:

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

我不知道什麼是,如果它是簡單的。

+0

謝謝!爲了我的目的,你的第二個解決方案比我的可讀性更強。 –

0

使用指定者()

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

看一看combineLatestwithLatestFrom但是這真的取決於你想要做什麼。

順便說一句,在這種情況下使用.zip可能並不理想,因爲.zip發出只有當它具有第N從所有源觀測量項目是你平時不想要的東西。

相關問題