Я сделал два асинхронных вызова
export function getProfile(username) {
const request = axios
.get(`${profileUrl}/${username}`)
.then(res => res.data)
.catch(err => Promise.reject({ status: 500, message: "Invalid name" }))
.then(previousRes =>
axios
.get(`${profileUrl}/${username}/repos`)
.then(res => Object.assign(previousRes, res.data))
.catch(err =>
Promise.reject({ status: 500, message: "Something went wrong" })
)
);
return { type: "GET_PROFILE", payload: request };
}
В этом случае я использую Object.assign
, чтобы объединить оба ответа и вернуть их как один. Как я мог вернуть 2 разных типа, для каждого действия один. E.G GET_PROFILE
и GET_SOMETHING_ELSE