鸿蒙使用第三方库axios

158 阅读1分钟

介绍

Axios ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于Axios 原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。

安装

ohpm install @ohos/axios

申请网络权限

ohos.permission.INTERNET

导包

import axiosfrom '@ohos/axios'

编写配置代码

设置基地在以及拦截器

import axios, { InternalAxiosRequestConfig, AxiosError, AxiosResponse } from '@ohos/axios'

// 实例化 通用配置
const httpInstance = axios.create({
  baseURL: 'https://www.baidu.com',
  timeout: 5000
})

// 拦截器配置
// 请求拦截器
// token配置等
httpInstance.interceptors.request.use((config: InternalAxiosRequestConfig) => {
  return config
}, (error: AxiosError) => {
  return Promise.reject(error)
})


// 添加响应拦截器
// 错误统一处理等
httpInstance.interceptors.response.use((response: AxiosResponse) => {
  return response
}, (error: AxiosError) => {
  return Promise.reject(error)
})

export { httpInstance }

使用

Log.info(JSON.stringify({ "code": 0, "message": "打印一个json字符串", "data": "" }))
const axios= await httpInstance.get<null,AxiosResponse<string,null>,null>('')
Log.info(JSON.stringify(axios.data),'百度响应')

查看结果

image.png