鸿蒙http网络请求,使用axios封装
时间: 2025-03-05 19:27:24 浏览: 69
### 鸿蒙系统中 Axios HTTP 请求封装
在鸿蒙操作系统中,`axios` 是一种流行的 HTTP 客户端库,用于发起网络请求。为了更好地管理和重用代码,在实际项目中通常会对 `axios` 进行一定的封装。
#### 封装设计思路
通过创建一个通用的服务层来处理所有的 API 调用可以提高代码的可维护性和扩展性。这不仅简化了错误处理逻辑,还允许统一配置如超时时间、拦截器等功能[^1]。
#### 实现步骤展示
下面是一个简单的例子展示了如何在一个名为 `HttpService.js` 的模块里定义这样的服务:
```javascript
// api/http.ets 文件内容如下:
import axios from '@ohos/axios';
class HttpService {
constructor(baseURL) {
this.instance = axios.create({
baseURL,
timeout: 5000, // 设置全局超时时长为五秒
});
// 添加响应拦截器
this.instance.interceptors.response.use(
response => response.data,
error => Promise.reject(error)
);
}
post(url, data) {
return this.instance.post(url, data);
}
}
export default new HttpService('https://example.com/api');
```
此段代码首先引入了 `@ohos/axios` 库并实例化了一个带有基础 URL 和默认选项的对象。接着设置了响应拦截器以便于集中管理返回的数据格式转换以及异常情况下的处理方式[^2]。
对于具体的接口调用,则可以通过继承自上述类的方法来进行操作,比如获取用户信息的功能就可以这样编写:
```typescript
/// 用户信息服务示例
function fetchUserInfo(pageNumber, pageSize) {
const url = '/users';
const params = { page: pageNumber, pagelimit: pageSize };
return getUserInfo(url, params).then(response => console.log(`User Info Fetched`, response));
}
```
这里假设已经存在一个名为 `getUserInfo()` 函数负责发送 POST 请求给指定路径 `/users` 并传递分页参数作为查询条件。
阅读全文
相关推荐

















