我将如何实现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。 –