У меня есть массив чисел вроде этого: [1, 2, 3] и HTTP-сервис, у которого есть функция для загрузки объекта данных по номеру, как это:

function get(id: number): Observable<object>

Как сопоставить мой исходный массив чисел с массивом объектов, сохраняя порядок элементов?

1
Rem 27 Ноя 2016 в 11:47

2 ответа

Лучший ответ

Благодаря @martin я нашел это решение:

const myPromise = val => new Promise(resolve => setTimeout(() => resolve(`Promise Resolved: ${val}`), 
                                                          Math.round(Math.random() * 1000 + 1000)))
const queue = Rx.Observable.of([1,2,3,4,5]);
const result = queue
  .mergeMap(q => Rx.Observable.forkJoin(...q.map(myPromise)));
const subscribeTwo = result.subscribe(val => console.log(val));
0
Rem 28 Ноя 2016 в 07:24