AI智能
改变未来

每日一坑之关于使用axios的CancelToken遇到的坑


每日一坑——关于使用axios的CancelToken遇到的坑

项目中碰到这样一个场景,在一个modal中上传软件压缩包以及相关的一些参数,正常点个确定就OK了,奈何modal框里有“取消”这个按钮,这就有点心烦了,总之就是一大堆前后台交涉,测试与se沟通,最终被我找到了canceltoken这个好东西。
先来上代码

var CancelToken = axios.CancelToken;var source = CancelToken.source();axios.get(\'/user/12345\', {cancelToken: source.token}).catch(function(thrown) {if (axios.isCancel(thrown)) {console.log(\'Request canceled\', thrown.message);} else {// handle error}});// cancel the request (the message parameter is optional)source.cancel(\'Operation canceled by the user.\');

这是CancelToken源码示例,用法确实大同小异,但用的时候发现一旦调用过source.cancel方法,再次调用此接口时不会再出发请求,后来才打了断点发现,CancelTokrn在接口中已经赋值,所以不会再触发,于是我想既然已经赋值,那就重新置空就好了,于是只需要在每次调用的接口里重新引用好了,即

updatesoft = (param) => {source = CancelToken.source();xxxxx(接口方法回调之类);}

写在最后的废话—-很早之前就想着写点东西存着,方便已经有坑来这里找填坑方法,今天终于开始实践,之后尽量保证每日一坑,提升提升

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 每日一坑之关于使用axios的CancelToken遇到的坑