在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);
}