1
Я новичок в rxjs, и мне нужно вызвать 3 асинхронных запроса, которые начинались как обещания, и помещать возвращенные объекты в массив в том порядке, в котором они были вызваны. Вот то, что я (частично основана на this question):rxjs: Цепочные запросы Async
let observeFront = Observable.fromPromise(this.requestAsync(frontSlice, "front"));
let observeMiddle = Observable.fromPromise(this.requestAsync(midSlice, "middle"));
let observeEnd = Observable.fromPromise(this.requestAsync(endSlice, "end"));
let observeCombined = Observable.concat(observeFront, observeMiddle, observeEnd);
observeCombined.subscribe(data => {
// this logs only one object - need all 3 in proper order
console.log(data);
this.resultsEmitter.emit(data)
});
observeFront.subscribe(response => {
// logs the correct object
console.log("front result:", response);
});
observeMiddle.subscribe(response => {
// correct
console.log("middle result:", response);
});
observeEnd.subscribe(response => {
// correct
console.log("end result:", response);
});
Как я могу испускать результат только тогда, когда у меня есть [frontOb, middleObj, endObj]
?
См http://stackoverflow.com/questions/35247310/angular-2-promise-all-with-rxjs/35247372#35247372 –