reactjs - axios cancelToken 中使用效果清理
问题描述
我想通过useEffect清理代码实现axios取消令牌,我可以在组件中调用axios时实现这种方式,但是我想知道当axios调用在单独的文件中时是否可以实现cancelToken。
[when using axios in the component]
useEffect(() => {
const request = Axios.CancelToken.source()
const fetchPost = async () => {
try {
const response = await Axios.get(`endpointURL`, {
cancelToken: request.token,
})
setPost(response.data)
setIsLoading(false)
} catch (err) {
console.log('There was a problem or request was cancelled.')
}
}
fetchPost()
return () => request.cancel()
}, [])
[page component]
useEffect(() => {
const cancel = axios.CancelToken.source();
fetchData();
return () => {
};
}, []);
const fetchData= async () => {
try {
const payload = {
page: 0,
size: 10,
};
const {
data: { content },
} = await UserService.getUserSupplier(payload);
setSupplier(content);
} catch (err) {
console.log(err);
}
};
[UserService.js]
export const getUserSupplier = async payload => {
const url = `/user/supplier?${qs.stringify(payload)}`;
const response = await ApiService.get(url); // ApiService is just Axios I separated file because of interceptor
return response;
};
解决方案
推荐阅读
- tensorflow - 在 Tensorflow 中运行 LSTM 时出现 ResourceExhausted 错误或 OOM
- java - Selenium + WebDriver cssSelector not working
- c++ - 没有指针运算的自定义分配器
- vb6 - 安装 VB6 - 错误无法创建 DCOM 用户帐户
- django - Django:将属性添加到 filter.fields
- pymc3 - pymc3:使用 NUTS
- java - 连接改变状态广播
- r - Delaunay4Points 出错:下标超出范围
- python - 多处理程序的Python清理中断快捷键
- d3.js - 强制有向图在鼠标悬停时更改所有连接节点的颜色