#鸿蒙通关秘籍#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();
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
分享
微博
QQ
微信
回复
2024-11-28 16:32:54


相关问题
应用http请求响应2300023
3251浏览 • 1回复 待解决