如何解决为什么这个redux动作不能解决?
我有一个redux操作,该操作返回一个promise,以便ui可以根据结果做出相应的响应。此操作将一个请求发送到后端,当它从服务器获得成功响应时,它将解决。
redux动作:
export const preauthorizePayment = (amount,connectedAccountId,customerId) => {
console.log("action reached")
return (dispatch) => {
dispatch({ type: types.UPDATING })
return new Promise((reject,resolve) => {
console.log("promise reached")
axios.get(PRE_AUTH_ENDPOINT,{
params: {
amount: amount,customerId: customerId,connectedAccountId: connectedAccountId
}
})
.then(res => {
console.log("then reached...")
if (res.data.result == 'success') {
dispatch({ type: types.UPDATE_SUCCESS });
console.log("if reached...");
return resolve();
} else {
console.log("else reached...")
console.log(JSON.stringify(res))
dispatch({
type: types.UPDATE_FAIL,info: res.data.errorInfo,errorCode: res.data.errorCode
})
return reject()
}
})
.catch(err => {
dispatch({ type: types.UPDATE_FAIL,errorInfo: err })
return reject()
})
})
}
}
UI片段如下:
props.preauthorizePayment(amount,customerId)
.then(() => {
console.log("pre-auth then reached")
// pre-auth success
setCheckInModal(false)
props.checkIn(props.evnt.id,props.role)
})
.catch(err => setCheckInModal(true))
我正在经历的事情是一切正常,直到redux操作的resolve()
部分为止。在redux操作的then()
的if块中,调度被触发,日志被触发,但无法解析。用户界面块的then()
不执行,没有日志,什么也没有。最初,我在解析行中没有return关键字,一旦添加它,它就可以工作一次。但随后停止了。
怎么回事?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。