我將如何實現async的eachSeries的功能,在此迭代數組並手動調用回調來繼續迭代?如何在JavaScript中使用Observable「eachSeries」?
至於我能想出,你可以遍歷與RxJs'可觀察到像this數組:
var array = [1,2,3,4,5];
// Converts an array to an observable sequence
var source = Rx.Observable.from(array);
// Prints out each item
var subscription = source.subscribe(
x => console.log('onNext: %s', x),
e => console.log('onError: %s', e),
() => console.log('onCompleted'));
// => onNext: 1
// => onNext: 2
// => onNext: 3
// => onNext: 4
// => onNext: 5
// => onCompleted
這裏可觀察的發出‘自動’每個數組元素,但如何將我告訴它只有當我需要時才繼續。與RxJS的Subject next()方法一樣。
事實上,我現實世界的場景是我需要調用觀察者回調中的其他函數。通過異步,我會傳遞異步的回調來繼續迭代到那個函數並從那裏調用它。但我不知道如何用Observables來做到這一點。無論如何,它們是否適合這種情況?或者我應該堅持異步?
感謝您的幫助!
觀測量的整個概念的一點是你給的數據在適當的時候,你不提出要求。這就是爲什麼你要觀察,而不是投票。 – ssube
取決於你的用例,但'.concatMap'應該像這樣完成工作:http://plnkr.co/edit/6TIO9uyuzKJu59a8WwO5?p=preview。 –