【HarmonyOS NEXT】网络请求拦截器中return之后跳到error里面,报错target must be an object

【关键字】

网络请求拦截器 / return / target must be an object

【问题描述】

网络请求拦截器的关键代码如下:

axiosClient.interceptors.request.use(
async (config: InternalAxiosRequestConfig) => {
config.headers['X-APP-PLAT'] = 'HarmonyOS';
config.headers['X-APP_VERSION'] = BuildProfile.VERSION_CODE.toString();
config.headers['deviceCode'] = util.generateRandomUUID();
config.headers['deviceType'] = deviceInfo.deviceType;
config.headers['deviceName'] = deviceInfo.brand;
config.headers['deviceDetail'] = `${deviceInfo.brand}-${deviceInfo.marketName}-${deviceInfo.displayVersion}`;
if (isNeedEncrypt(config.url)) {
let requestId = RandomUtil.randomInt().toString()
let requestData = await encryptData(config.params.toString(), requestId)
config.params = requestData
config.headers['X-AUTH-TOKEN'] = '******twuEW3CYrNjR4L1CEvZMI38sda1x2gb9yFmKxQlw9wAqnGfVGGxh3ZtkK0';
config.headers['X-AUTH-USERID'] = '**634411';
config.headers["requestId"] = requestId
return config
} else {
return config
}

}, (error: AxiosError) => {
return Promise.reject(error)
})

加密之后,return config 然后就跳到了 error里面了,然后报target must be an object。target must be an object 报错,这个target不清楚是哪里返回出来的。

【解决方案】

关于“网络请求拦截器”的使用,请参考链接:https://gitee.com/openharmony-sig/ohos_axios#%E6%8B%A6%E6%88%AA%E5%99%A8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值