HarmonyOS 鸿蒙Next @yunkss/eftool的axios可以自定义拦截器吗

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

HarmonyOS 鸿蒙Next @yunkss/eftool的axios可以自定义拦截器吗

如题,没有看到拦截器的东西


关于HarmonyOS 鸿蒙Next @yunkss/eftool的axios可以自定义拦截器吗的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

3 回复

文档有写,需要额外导包

ohpm install [@yunkss](/user/yunkss)/ef_axios<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

import axios, {  AxiosError, AxiosResponse, InternalAxiosRequestConfig } from '[@ohos](/user/ohos)/axios';
import { efAxios, efAxiosParams,
  efClientApi,
} from '[@yunkss](/user/yunkss)/eftool'

aboutToAppear(): void { // 添加请求拦截器 efAxios.interceptors.request.use((config:InternalAxiosRequestConfig) => { // 对请求数据做点什么 console.info(对请求数据做点什么,request,:${<span class="hljs-built_in"><span class="hljs-built_in">JSON</span></span>.stringify(config)}) return config; }, (error:AxiosError) => { // 对请求错误做些什么 return Promise.reject(error); });

<span class="hljs-comment"><span class="hljs-comment">// 添加响应拦截器</span></span>
efAxios.interceptors.response.use((response:AxiosResponse)=&gt; {
  <span class="hljs-comment"><span class="hljs-comment">// 对响应数据做点什么</span></span>
  console.info(`对响应数据做点什么,response,:${<span class="hljs-built_in"><span class="hljs-built_in">JSON</span></span>.stringify(response)}`)
  <span class="hljs-keyword"><span class="hljs-keyword">return</span></span> response;
}, (error:AxiosError)=&gt; {
  <span class="hljs-comment"><span class="hljs-comment">// 对响应错误做点什么</span></span>
  <span class="hljs-keyword"><span class="hljs-keyword">return</span></span> Promise.reject(error);
});

<span class="hljs-keyword"><span class="hljs-keyword">const</span></span> instance = axios.create();

} <button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

这样写是把原来的拦截器覆盖掉吗?我看源码有写拦截器的,但不是我想要的效果

那可以不直接使用await efClientApi.get,而是自己多封装一个方法,然后在这个方法里自己做拦截处理。就像我下面这个链接中的 public static async request 【https://developer.huawei.com/consumer/cn/blog/topic/03151854787432021

回到顶部