【发布时间】:2017-08-30 08:55:30
【问题描述】:
如何在 RXJS 中链接承诺列表?每个 Promise 都需要在前一个 Promise 解决后执行(工作 todo 是有状态的)。
我现在的做法感觉很原始:
const workTodo = []; // an array of work
const allWork = Observable.create(observer => {
const next= () => {
const currentTodo = workTodo.shift();
if (currentTodo ) {
doTodoAsync(currentTodo)
.then(result => observer.onNext(result))
.then(next);
} else {
observer.onCompleted();
}
};
next();
});
我在想这样的事情:
const workTodo = []; // an array of work
const allWork = Observable
.fromArray(workTodo)
.flatMap(doTodoAsync);
但这基本上是一次执行所有的承诺。
【问题讨论】:
标签: javascript asynchronous rxjs rxjs5