以下是我的减速器到redux方面。
我想在收到服务器端的响应后再打一个axios
呼叫。
这是两个函数,其中包含getList
和updateList
。所以我的要求是,当updateListSuccess
响应得到时,我需要调用函数getDetails。
在获得以粗体字母或星号表示的响应后如何调用getDetails
函数。
export function updateList(_id, data) {
return dispatch => {
dispatch(updateListLoading());
axios
.put(`/api/dataList/${_id}`, data)
.then(res => {
**dispatch(updateListSuccess(res.data));**
})
.catch(err => {
if (err.response && err.response.data) {
dispatch(updateListFail(err.response.data));
}
});
};
}
export function getDetails() {
return dispatch => {
dispatch(getDetailsLoading());
axios
.get("/api/getDetails")
.then(res => {
dispatch(getSuccessResponse(res.data));
})
.catch(err => {
if (err.response && err.response.data) {
dispatch(getLoadfail(err.response.data));
}
});
};
}
谢谢。
答案 0 :(得分:0)
好的,当您从第一次调用中获得成功时,只需调度其他功能 您可以按照以下方式进行操作
export function updateList(_id, data) {
return dispatch => {
dispatch(updateListLoading());
axios
.put(`/api/dataList/${_id}`, data)
.then(res => {
dispatch(updateListSuccess(res.data));
dispatch(getDetails())
})
.catch(err => {
if (err.response && err.response.data) {
dispatch(updateListFail(err.response.data));
}
});
};
}
希望有帮助