Большинство моих вызовов api - это функции, которые вызываются из такого действия
Action:
export const fetchSomethingAction = () => {
return (dispatch) => {
dispatch({ type: types.FETCH_SOMETHING_REQUEST })
return api.fetchSomething()
.then((response) => {
dispatch({ type: types.FETCH_SOMETHING_SUCCESS, data: response.data })
})
.catch(error => {
dispatch({ type: types.FETCH_SOMETHING_FAILURE, error })
})
}
}
И запрос ax ios выглядит примерно так:
export const fetchSomething = () => {
return axios({
method: 'GET',
url: `${api}/endpoint`
});
}
Теперь мне нужно сделать два связанных запроса, и действие отправит сообщение об ошибке, если любой из двух запросов завершится неудачно
Итак, как связать запрос с достичь этого?
Я делал, например,
export const fetchSomething = () => {
axios({
method: 'GET',
url: `${api}/endpoint1`
})
.then(res => {
return fetchSomething2(res.param)
})
.catch(err => return err)
}
const fetchSomething2 = (param) => {
return axios({
method: 'GET',
url: `${api}/endpoint1?param=${param}`
});
}
Но я получаю Cannot read property 'then' of undefined
в действии.
Мне нужно два действия, по одному для каждой функции? Это правильный способ сделать это? Спасибо