React+redux+ts下使用Promise
程序员文章站
2022-03-05 08:05:29
...
在es6+ts语言环境下,react+redux使Promise
/**
* 打开或者关闭付款页面(按钮动作)
*/
public showPayModal = () => {
new Promise((succ) => {
this.props.executeGetBillCountByIds({billIds:"这里传递账单 ids",succ});
}).then(() => {
console.log("成功执行executeGetBillCountByIds");
this.setState({
payVisible: true,
});
});
}
上面这段代码是时间触发的时候,在executeGetBillCountByIds回调回来后改变state,弹出模态框,同保证传递到模态框的数据正常。特别注意,需要将succ传递到执行的sagas
// 执行支付账单页面统计查询方法
function* handleGetBillCountByIdsFetch(action: ReturnType<typeof fetchGetBillCountByIds>) {
try {
const res = yield call(fetchApi, "get", `mock-data/billPayCount.json`);
res.result === 0 ? yield put(fetchGetBillCountByIdsSuccess(res.data))
: yield put(fetchGetBillCountByIdsError(res.detail));
} catch (err) {
const info = err instanceof Error
? err.stack!
: ERROR_MESSAGE;
yield put(fetchGetBillCountByIdsError(info));
}
// 这里特别注意,否则无法执行then
action.payload.succ();
}
下一篇: 学习并实现一个Promise