方法一:
new Promise((resolve) => {
this.props.dispatch({
type: 'query/query',
payload: {
resolve,
id: 1
},
});
}).then (res => {
console.log(res)
})
effects: {
*query({ payload, query }, { call, put }) {
const { resolve } = payload;
const response = yield call(query, payload, query);
yield put({
type: 'handleQuery',
param: response,
});
resolve && resolve(response); // 返回数据
},
}
方法二:
this.props.dispatch({
type: 'query/query',
payload: {
},
callback: (res) => {
if (res) {
console.log(res);
}
}
});
*query({ payload, callback }, { call, put }){
const response = yield call(query, payload);
if (response.data.status === 0) {
callback(response); // 返回结果
} else {
message.error("请求失败")
}