瀏覽代碼

fix 主动调用 axioscancelToken 的 cancel 取消请求时 无效的问题 (#2586)

cancelToken 如果被深拷贝,会导致最外层无法使用cancel方法来取消请求
tttleon 2 年之前
父節點
當前提交
c70cf3cace
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/utils/http/axios/Axios.ts

+ 5 - 0
src/utils/http/axios/Axios.ts

@@ -193,6 +193,11 @@ export class VAxios {
 
   request<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
     let conf: CreateAxiosOptions = cloneDeep(config);
+    // cancelToken 如果被深拷贝,会导致最外层无法使用cancel方法来取消请求
+    if(config.cancelToken){
+        conf.cancelToken = config.cancelToken
+    }
+    
     const transform = this.getTransform();
 
     const { requestOptions } = this.options;