HarmonyOS 鸿蒙Next promise封装axios

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next promise封装axios 对axios用promise进行简单的封装,不需要请求拦截之类的东西 就是一个基础的封装传递一个地址或者一些参数就可以调用的

5 回复

参考链接:https://developer.huawei.com/consumer/cn/blog/topic/03142012031816050

里面有axios介绍及封装使用

附 Promise 使用方法:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/async-concurrency-overview-V5

结合自己封装一个就可以。

更多关于HarmonyOS 鸿蒙Next promise封装axios的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这不是根据需要动动手手就能写好的事吗?你把原先js的换成ts文件修修改改一下,再扔给arkts用不就行了。善用record和object骗过编译就完事了

OpenHarmony的三方仓库里就有啊,直接安装就行了

ohpm install [@ohos](/user/ohos)/axios

这是链接:[@ohos/axios](https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Faxios)

在HarmonyOS(鸿蒙Next)中,封装axios可以通过Promise来实现,以便更好地管理异步请求。axios是一个基于Promise的HTTP客户端,适用于浏览器和Node.js环境。在鸿蒙系统中,虽然原生不支持axios,但可以通过Promise封装类似的功能。

首先,确保你已经安装了axios库。如果没有安装,可以通过npmyarn进行安装:

npm install axios

接下来,你可以创建一个封装了axios的工具类或函数,使用Promise来处理异步请求。以下是一个简单的封装示例:

import axios from 'axios';

const http = {
  get(url, params = {}) {
    return new Promise((resolve, reject) => {
      axios.get(url, { params })
        .then(response => {
          resolve(response.data);
        })
        .catch(error => {
          reject(error);
        });
    });
  },

  post(url, data = {}) {
    return new Promise((resolve, reject) => {
      axios.post(url, data)
        .then(response => {
          resolve(response.data);
        })
        .catch(error => {
          reject(error);
        });
    });
  },

  // 可以继续封装其他HTTP方法,如put、delete等
};

export default http;

在这个封装中,http对象提供了getpost方法,每个方法都返回一个Promise对象。你可以根据需要继续封装其他HTTP方法,如putdelete等。

使用这个封装后的http对象,你可以像下面这样发起请求:

import http from './http';

http.get('/api/data', { id: 1 })
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });

http.post('/api/data', { name: 'John' })
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });

通过这种方式,你可以在鸿蒙系统中使用Promise封装axios,简化异步请求的处理。

在HarmonyOS(鸿蒙)中,使用Promise封装Axios可以简化异步请求的处理。以下是一个简单的示例:

import axios from 'axios';

function request(config) {
  return new Promise((resolve, reject) => {
    axios(config)
      .then(response => {
        resolve(response.data);
      })
      .catch(error => {
        reject(error);
      });
  });
}

// 使用示例
request({
  method: 'get',
  url: 'https://api.example.com/data'
})
  .then(data => {
    console.log('请求成功:', data);
  })
  .catch(error => {
    console.error('请求失败:', error);
  });

通过这种方式,可以将Axios的请求封装在Promise中,便于在鸿蒙系统中进行异步操作的管理和调用。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!