В соответствии с заголовком я пытался найти способ сделать несколько HTTP-вызовов из полезной нагрузки действия и в основном объединить все результаты в один массив, а затем отобразить результат в другое действие в качестве полезной нагрузки.
Вот мой существующий код, он работает, но кажется, что он не объединяет оба ответа и заботится только о последнем ответе от ответа на запрос, возможно, я использую неправильный оператор, я просто беру RxJS и пытаюсьразные вещи для изучения, надеюсь, кто-нибудь сможет объяснить, где я ошибаюсь.
Любая помощь или направление высоко ценится.
{
type: 'FETCH_DATA',
payload: {
key: 'standings',
value: [
'http://url-1',
'http://url-2'
],
})
}
// The epic is listening to the above action
const fetchDataEpic = action$ => action$.pipe(
ofType('FETCH_DATA'),
mergeMap(action => {
const { key, value } = action.payload;
if (Array.isArray(value) && value.length) {
const makeRequest = value.map((x, i) => ajax.getJSON(value[i]))
return (
forkJoin(
makeRequest,
response => {
return ({
type: 'FETCH_DATA_SUCCEEDED',
payload: {
key,
value: response,
},
})
}
)
)
}
})
);
ПРИМЕЧАНИЕ. Ответ на оба запроса находится в одном и том же JSONформат с теми же свойствами, но разными данными.
Заранее спасибо