【发布时间】:2018-10-21 22:39:37
【问题描述】:
下面的axios调用似乎没问题,但它永远不会返回promise,而是返回undefined。
export function getAllSubmissionDetails() {
return (dispatch) => {
axios
.get(`/rbac/members/filledForm/getMain/show/1/data/all`, {
headers: {
'Content-Type': 'application/json',
'Pragma': 'no-cache'
}
})
.then((memResponse) => {
console.log('%%%%%%%');
console.log(memResponse);
if (memResponse.data.status == 200) {
var mem_list = memResponse.data.msg;
if (mem_list.length > 0) {
mem_list = _.sortBy(mem_list, "submissionid").reverse()
dispatch(memIdeaListSuccess(mem_list, null));
return memResponse
} else {
dispatch(memIdeaListFailure("No Submissions", null));
return memResponse
}
} else {
dispatch(memIdeaListFailure(memResponse.data.msg, null));
return memResponse
}
})
.catch((err) => {
dispatch(serviceError(err));
return Promise.reject(error)
});
};
}
【问题讨论】:
-
常见错误:你忘了return承诺:
return axios.get(... -
您也可以在
then回调的底部只使用一次return memResponse,因为所有分支都会导致返回memResponse
标签: javascript reactjs promise axios