React

dva取消异步任务

December 31, 2018
React

先声明一个axios的网络请求函数login🤪: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //service.js import axios from 'axios'; export default { login: async (params, cancelToken) => { try { const response = await axios.post(`${ApiServer}/auth/user`, params, cancelToken); return response; } catch (error) { if (axios.isCancel(error)) { console.log('Request canceled', error.message); } else { message.error(error.message); } } }, 这段代码可以处理3中情况的异常: axios.interceptors.response中throw Error http status code !== 200时的promise reject,不使用async时是在catch中处理 axios请求被代码cancel掉 有了网络请求,可以写saga函数了: ...