HarmonyOS鸿蒙Next企业面试题如何对网络请求进行封装

在HarmonyOS鸿蒙实际项目中,我们通常会对网络请求进行统一封装,以提高代码的可维护性和复用性。基于鸿蒙系统,我们主要使用 axios 或官方的 @ohos/request 模块进行网络请求。以下是封装网络请求的主要步骤和实践:

1. 配置网络权限

首先,在 module.json5 配置文件中声明网络访问权限:

{
  "module": {
    "reqPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
  }
}

2. 封装核心请求方法

我们会创建一个统一的请求工具类,处理公共逻辑如请求头设置、参数序列化、错误处理和响应解析,确保代码的一致性和可维护性。

3. 封装常用 HTTP 方法

针对常用的 RESTful 接口,我们封装 httpGethttpPosthttpPuthttpDelete 等方法,减少重复代码。

4. 示例:httpGet 方法的封装

httpGet 为例,我们将其定义为泛型方法,约束返回数据的类型,并传入请求的 API 地址:

typescript

export function httpGet<T>(uri: string): Promise<T[]> {
  return new Promise((resolve, reject) => {
    axios.get(uri).then((response: AxiosResponse) => {
      console.log(JSON.stringify(response.data));
      resolve(response.data["result"] as T[]);
    }).catch((err: AxiosError) => {
      console.error(JSON.stringify(err));
      reject(err);
    });
  });
}

该方法通过泛型 T 指定返回数据的类型结构,并通过 Promise 处理异步请求,成功时解析数据,失败时抛出错误。


更多关于HarmonyOS鸿蒙Next企业面试题如何对网络请求进行封装的实战教程也可以访问 https://www.itying.com/category-93-b0.html

回到顶部