我的这段不会取消请求,请问是什么问题? axios怎么取消请求?

作者站长头像
站长
· 阅读数 17

这是我的axios依赖:

"axios": "^1.4.0",

这是我的代码

const source = axios.CancelToken.source();
data = {
    ...data,
    ...JSON.parse(localStorage.getItem('_TT_token')),
    cancelToken: source.token
}
const xhr = axios.post(url,data)
// 如果xhrMap中存在该url请求,则执行取消操作
if (xhrMap[url]) {
    source.cancel('Operation canceled by the user.')
}
xhrMap[url] = xhr
xhr.then(
    (response) => {
        resolve(response.data);
    },
    (err) => {
        if (axios.isCancel(err)) {
            console.log('Request canceled:', err.message);
        } else {
              reject(err);
          }
    }
);

这段代码有什么问题么?请求并不会取消

回复
1个回答
avatar
test
2024-06-21
data = {
    ...data,
    ...JSON.parse(localStorage.getItem('_TT_token')),
    cancelToken: source.token
}
axios.post(url,data)

应为

axios.post(url, data, {
    cancelToken: source.token
})
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容