【发布时间】:2020-06-11 20:23:52
【问题描述】:
我有一个使用 axios.create() 的自定义 Axios 实例。我想使用 Axios 的取消功能,但从自定义实例触发的请求永远不会被取消。它不会在 .isCancel() 方法中被检测到。但与全局 Axios 对象一起使用时效果很好。
const axiosAuth = axios.create();
const cancelToken = axios.CancelToken.source();
//request
const getProducts = async () => {
try {
const response = await axiosAuth.get('api', {
cancelToken: cancelToken.token
});
if (response.status === 200) {
return response.data;
}
} catch (err) {
if (axios.isCancel(err)) {
console.log('Error: ', err.message);
return true;
} else {
throw new Error(err);
}
}
};
// I'm cancelling the request on button click using `cancelToken.cancel()`
我不明白为什么取消不适用于自定义 Axios 实例。
【问题讨论】:
标签: javascript reactjs async-await axios