#鸿蒙通关秘籍#如何封装axios请求并进行二次封装

HarmonyOS
2024-12-02 14:05:09
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨s流年JSON

可以通过两层封装来组织和使用axios请求,以便在项目中更好地维护和扩展:

  1. 基础封装Request
import axios from '@ohos/axios';

const service = axios.create({
  baseURL: 'your_api_prefix',
  timeout: 50000,
  headers: { 'Content-Type': 'application/json;charset=utf-8' }
});

export default service;
  1. 在此基础上进行二次封装,添加loading和错误提示:
import { AxiosResponse } from '@ohos/axios';
import { JhProgressHUD } from '../components/JhProgressHUD';
import Request from './Request';

export class HttpUtils {
  public static get(url, params, loadingText = "加载中...") {
    return HttpUtils.request('get', url, params, loadingText);
  }

  public static post(url, params, loadingText = "加载中...") {
    return HttpUtils.request('post', url, params, loadingText);
  }

  public static request(method, url, params, loadingText) {
    return new Promise((resolve, reject) => {
      JhProgressHUD.showLoadingText(loadingText);

      Request({ method, url, params })
        .then((res: AxiosResponse) => {
          JhProgressHUD.hide();
          resolve(res.data);
        })
        .catch((err) => {
          JhProgressHUD.showText(err.message || '系统错误');
          reject(err);
        });
    });
  }
}
分享
微博
QQ
微信
回复
2024-12-02 15:49:51
相关问题
HarmonyOS aioxs二次封装
198浏览 • 1回复 待解决
HarmonyOS getStringByName方法二次封装
186浏览 • 1回复 待解决
HarmonyOS 权限二次申请
132浏览 • 1回复 待解决
class二次刷新渲染数组
867浏览 • 1回复 待解决
HarmonyOS cocos引擎能否二次启动
513浏览 • 1回复 待解决
实现二次侧滑退出应用
1960浏览 • 1回复 待解决
HarmonyOS http请求封装
167浏览 • 1回复 待解决
HarmonyOS http请求封装
212浏览 • 1回复 待解决
华为账号实时验证/二次放号相关咨询
1874浏览 • 1回复 待解决