在dva@2中实现回调可以将回调函数作为参数dispatch:
dispatch({ type: 'model/fetch', payload: { resolve, id: userId, }, callback: res => { console.log(res); } })
然后在model的effects中这样写:
*fetch({ payload, callback }, {call}) {
const response = yield call(services.fetch, payload);
if (response.code === 0) {
yield put({
type: 'reload',
payload: response,
});
if (callback) callback(response);
}