axios取消请求

一、引入axios

import axios from 'axios'

二、引入取消方法

const CancelToken = axios.CancelToken;
let cancel

三、请求接口

    axios.get(`XXX`, {
      cancelToken: new CancelToken(function executor(c) {
          // executor 函数接收一个 cancel 函数作为参数
          cancel = c;
      })
    })

四、取消请求

cancel()

可以设置一个开关switch,当true时为正在请求,请求完毕置为false,如果是true时再次请求则取消上次请求。

这只是针对单个接口的,如果是针对多个接口,例如切换页面时需要取消掉上个页面请求未完成的多个接口,需要在统一接口配置文件中,把每个接口的c放入一个数组中,还可以给每个请求设置唯一值,方便取消单个特定的接口

你可能感兴趣的:(React,js,前端,javascript)