#鸿蒙通关秘籍#HarmonyOS Next中如何处理不同状态码下的HTTP请求响应?

HarmonyOS
2024-11-28 15:45:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
网络小先锋

在封装HTTP请求工具类时,可以根据服务器返回的数据状态码,定义不同的处理方式。常见的处理方式包括:成功返回、Token失效后跳转登录页面和其他请求失败情况的处理。

httpRequest.request(BASEURL + params.url, {
  method: params.method ?? http.RequestMethod.GET,
  header: {
    'Content-Type': contentType,
    token
  },
  extraData: requestData,
  readTimeout: 30000,
  connectTimeout: 30000
}, (err: BusinessError, data: http.HttpResponse) => {
  if (!err) {
    if (data.responseCode === 200) {
      let res: ResponseResult = JSON.parse(`${data.result}`);
      let response = new ResponseResult(res.code, res.message, res.data);
      
      if (res.code === 200) {
        resolve(response);
      } else if (res.code === 401) {
        router.clear();
        router.replaceUrl({ url: LOGINPAGEURL });
      } else {
        showToast(response.message);
        reject(response);
      }
    } else {
      showToast();
      reject(data);
    }
  } else {
    showToast(err.message);
    reject(err);
  }
  httpRequest.off('headersReceive');
  httpRequest.destroy();
});
分享
微博
QQ
微信
回复
2024-11-28 16:32:54
相关问题
应用http请求响应2300023
2121浏览 • 1回复 待解决