美文网首页
react中axios取消请求

react中axios取消请求

作者: 太空蛙 | 来源:发表于2022-04-23 22:44 被阅读0次

    常规的axios取消请求方式:

    v0.22.0及之后版本
    const controller = new AbortController();
    
    axios.get('/user/12345', {
       signal: controller.signal
    }).then(function(response) {
       //处理错误
    });
    // 取消请求
    controller.abort()
    
    v0.22.0之前版本
    const CancelToken = axios.CancelToken;
    const source = CancelToken.source();
    
    axios.get('/user/12345', {
      cancelToken: source.token
    }).catch(function (thrown) {
      // 处理错误
    });
    
    // 取消请求(message 参数是可选的)
    source.cancel('Operation canceled by the user.');
    
    针对post请求并且设置了onUploadProgress的情况,上述代码不起作用,需要用useState
    const [controller, setController] = useState(new AbortController());
    
    axios.get('/user/12345', {
       signal: controller.signal
    }).then(function(response) {
       //处理错误
    });
    // 取消请求
    controller.abort()
    //解决下次不能发请求问题
    setController(new AbortController())
    

    相关文章

      网友评论

          本文标题:react中axios取消请求

          本文链接:https://www.haomeiwen.com/subject/oxuxyrtx.html