У меня есть этот случай использования, когда мне нужно сделать два вызова API внутри саги Redx.Мне нужен ответ от первого API и использовать его во втором вызове API. В конце мне нужно получить ответ на второй вызов API и заполнить данные моих редукторов.Вот как я поступил в случае одного вызова API и отправил ответ моим редукторам. Меня беспокоит то, как должны происходить события в случае двух вызовов API, поскольку мой второй вызов API зависит от данных из первого вызова API.Я обеспокоен тем, как цеплять вещи в попытке поймать.
export function* fetchSportsFanDetailsHandler() {
try {
const { authToken, sportsFanId } = yield select(state => ({
authToken: state.auth.authToken,
sportsFanId: state.auth.userId
}));
const sportsFanDetails = yield call(
fetchSportsFanDetails,
sportsFanId,
authToken
);
const { name, id, mobile, photo, communicationEmail } = sportsFanDetails;
yield put({
type: FETCH_SPORTS_FAN_DETAILS_SUCCESS,
response: sportsFanDetails
});
} catch (err) {
const { error } = err.response.data;
yield put({
type: FETCH_SPORTS_FAN_DETAILS_ERROR,
error: error.message
});
}
}