axios.CancelToken

2021-05-28  本文已影响0人  Cherry丶小丸子

可以使用 CancelToken.source 工厂方法创建 cancel token,像这样

// 在页面中,或者在封装axios中,引入axios
import axios from "axios";

const CancelToken = axios.CancelToken;
this.source = CancelToken.source(); // 设置全局变量

// 模拟请求
axios.post('/api/fileUpload', {
    file: formData
}, {
    cancelToken: source.token
}).catch(function(thrown) {
    if (axios.isCancel(thrown)) {
        console.log('Request canceled', thrown.message);
    } else {
        // 处理错误
    }
});

// 取消请求(message 参数是可选的)
this.source.cancel('Operation canceled by the user.');

还可以通过传递一个 executor 函数到 CancelToken 的构造函数来创建 cancel token

// 在页面中,或者在封装axios中,引入axios
import axios from "axios";

this.cancel = null; // 设置全局变量


const CancelToken = axios.CancelToken;

// 模拟请求
axios.post('/api/fileUpload', {
    file: formData
}, {
    cancelToken: new CancelToken(c => {
        this.cancel = c;
    })
})

// 取消请求
this.cancel();
上一篇 下一篇

猜你喜欢

热点阅读