Axios实践-在拦截器中使用异步方法

场景:获取到一个接口的数据后,再请求另一个接口,把两个接口的数据进行比较、合并。
由于Axios拦截器的返回值可以是新的Promise,所以这个需求可以这么实现:

import axios from "axios";
axios.interceptors.response.use(function (response) {
      return new Promise((resolve) => {
         axios.get('url2').then(res => {
           //在这里对两个接口的数据进行处理,response是原始接口的数据, res是新接口的数据
           func(response, res);
           resolve(response);                 //将处理后的response传给回调函数
         })
      })
})

正常调用接口即可,调用示例:

const resolveFunc = (res) => {
  console.log(res);
}
// 这里的resolveFunc接收到的数据是被拦截器处理之后的
axios.get('url').then(resolveFunc);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容