|
|
@ -169,31 +169,43 @@ export class VAxios { |
|
|
|
conf = this.supportFormData(conf); |
|
|
|
return await new Promise((resolve, reject) => { |
|
|
|
this.axiosInstance |
|
|
|
.request<any, AxiosResponse<Result>>(conf) |
|
|
|
.then(async (res: AxiosResponse<Result>) => { |
|
|
|
if (transformRequestHook && isFunction(transformRequestHook)) { |
|
|
|
try { |
|
|
|
const ret = transformRequestHook(res, opt); |
|
|
|
if (ret instanceof Promise) { |
|
|
|
try { |
|
|
|
const data = await ret; |
|
|
|
resolve(data); |
|
|
|
} catch (error) { |
|
|
|
console.error('reponse error:结构体错误!' + config.url); |
|
|
|
reject(error); |
|
|
|
.request<any, AxiosResponse<Result>>(conf) |
|
|
|
.then(async (res: AxiosResponse<Result>) => { |
|
|
|
if (transformRequestHook && isFunction(transformRequestHook)) { |
|
|
|
try { |
|
|
|
let ret; |
|
|
|
if (res.data instanceof Blob) { |
|
|
|
// 如果是 Blob 类型,直接返回 Blob
|
|
|
|
ret = res.data; |
|
|
|
} else { |
|
|
|
ret = transformRequestHook(res, opt); |
|
|
|
} |
|
|
|
if (ret instanceof Promise) { |
|
|
|
try { |
|
|
|
const data = await ret; |
|
|
|
resolve(data); |
|
|
|
} catch (error) { |
|
|
|
console.error('reponse error:结构体错误!' + config.url); |
|
|
|
reject(error); |
|
|
|
} |
|
|
|
} else { |
|
|
|
resolve(ret); |
|
|
|
} |
|
|
|
} catch (err) { |
|
|
|
reject(err || new Error('request error!')); |
|
|
|
} |
|
|
|
resolve(ret); |
|
|
|
} catch (err) { |
|
|
|
reject(err || new Error('request error!')); |
|
|
|
return; |
|
|
|
} |
|
|
|
return; |
|
|
|
} |
|
|
|
resolve(res as unknown as Promise<T>); |
|
|
|
}) |
|
|
|
.catch((e: Error | AxiosError) => { |
|
|
|
reject(e); |
|
|
|
}); |
|
|
|
// 如果没有 transformRequestHook,直接返回响应数据
|
|
|
|
if (res.data instanceof Blob) { |
|
|
|
resolve(res.data as unknown as T); |
|
|
|
} else { |
|
|
|
resolve(res as unknown as T); |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch((e: Error | AxiosError) => { |
|
|
|
reject(e); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|