vue

axios同时请求多个接口,如果当token过期时,怎么取消后面的请求?

发布于 2021-01-11 17:20:49
关注者
0
被浏览
2046
3 个回答
  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    axios的话可以使用cancelToken来实现。如果是原生的XMLhttprequest的话,需要使用abort()方法实现。

    https://juejin.im/post/5d664634f265da03d42fb6dc

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    官网上标准答案:
    const CancelToken = axios.CancelToken;
    const source = CancelToken.source();
    axios.get('/user/12345', {
    cancelToken: source.token}).catch(
    function(thrown) {
    if (axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
    } else {
    // 处理错误
    }});
    axios.post('/user/12345', { name: 'new name'}, { cancelToken: source.token}) // 取消请求(message 参数是可选的)source.cancel('Operation canceled by the user.');

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看