axios拦截器: axios.interceptors.request.use,axios.interceptors.response.use

这篇具有很好参考价值的文章主要介绍了axios拦截器: axios.interceptors.request.use,axios.interceptors.response.use。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

请求拦截器:

1.是什么?

2.作用:

响应拦截器:

1.是什么?

2.作用:

示例代码:


请求拦截器:

1.是什么?

​ 在真正发送请求前执行的一个回调函数

2.作用:

​ 对所有的请求做统一处理:追加请求头、追加参数、界面loading提示等等

//请求拦截器 需求:在请求发出时判断时间戳是否是2的倍数,如果是,则加个请求头  
axios.interceptors.request.use(config => {
  if(Date.now()%2 === 0){
    config.headers.school = 'jit';
  }
  return config;
});

注意:一定要写 return 否则请求将会在拦截器处被停止!

响应拦截器:

1.是什么?

​ 得到响应之后执行的一组回调函数

2.作用:

​ 若请求成功,对成功的数据进行处理

​ 若请求失败,对失败进行进一步操作

//响应拦截器
axios.interceptors.response.use(response => {
  console.log("响应拦截器成功的回调执行了", response);
  if (Date.now() % 2 === 0) { return response.data; }
  return '时间戳不是偶数,不能给你';
}, error => {
  console.log('响应拦截器失败的回调执行了', error);
  alert(error);
  return new Promise(()=>{});//此时的promise链停下来了
});
btn1.onclick = async () => {
  /* axios.get('http://localhost:5000/persons').then(
                response => { console.log('成功了', response); },
                error => { console.log('失败了', error); } 
            )*/
  const result = await axios.get('http://localhost:5000/persons');
  console.log(result);//此处为返回的请求成功的data
}

解释:写了响应拦截器后,不需要写请求返回后失败的回调,因为错误在拦截器中就已经显示了错误信息了,错误后将返回 promise 的 pending 状态,用此来中断 promise链的传递,即不用到 axios( ).then 中的失败回调,响应拦截器已经处理了,所以 axios( ).then 只会收成功的回调,catch 也不需要写。文章来源地址https://www.toymoban.com/news/detail-601985.html

示例代码:

<body>
  <button id="btn1">点我获取所有人</button>
  <script>
    const btn1 = document.getElementById('btn1');

    //请求拦截器
    axios.interceptors.request.use(config => {
      if (Date.now() % 2 === 0) {
        config.headers.school = 'jit';
      }
      console.log('请求拦截器执行了');
      return config;
    });

    //响应拦截器
    axios.interceptors.response.use(response => {
      console.log("响应拦截器成功的回调执行了", response);
      if (Date.now() % 2 === 0) {
        return response.data;
      }
      return '时间戳不是偶数,不能给你';
    }, error => {
      console.log('响应拦截器失败的回调执行了', error);
      alert(error);
      return new Promise(()=>{});//此时的promise链停下来了
    });

    btn1.onclick = async () => {
      /* axios.get('http://localhost:5000/persons').then(
                response => { console.log('成功了', response); },
                error => { console.log('失败了', error); } 
            )*/

      const result = await axios.get('http://localhost:5000/persons');
      console.log(result);
    }
  </script>
</body>

到了这里,关于axios拦截器: axios.interceptors.request.use,axios.interceptors.response.use的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 报错 “Required request body is missing: public“ 的解决方案以及注意点(Vue, axios拦截器)

    在使用axios拦截器时,返回500,报了\\\"Required request body is missing: public\\\"的错误,我的拦截器是这么写的,参考了以下链接: http://www.45fan.com/article.php?aid=1D2dBLoGSZ31XuGv#_label1 我这里的基础地址在我本地换成了接口的域名地址。 然后在api/index.js的文件里面,这样应用的:  然后报错

    2024年02月10日
    浏览(48)
  • C# 12 拦截器 Interceptors

    拦截器Interceptors是一种可以在编译时以声明方式替换原有应用的方法。 这种替换是通过让Interceptors声明它拦截的调用的源位置来实现的。 您可以使用拦截器作为源生成器的一部分进行修改,而不是向现有源编译添加代码。   演示 使用 .NET 8 创建一个控制台应用程序。并在

    2024年03月20日
    浏览(32)
  • SpringMVC的拦截器(Interceptor)

    对于拦截器这节的知识,我们需要学习如下内容: 拦截器概念 入门案例 拦截器参数 拦截器工作流程分析 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如果是

    2024年02月09日
    浏览(32)
  • SpringBoot(八)拦截器Interceptor

        上篇介绍了Filter过滤器的使用,提起过滤器,就不得不再提起另外一个叫做拦截器的东西。两者的作用类似,都可以实现拦截请求的作用,但其实两者有着非常大的区别。本篇,我们就来学习下拦截器的使用。     如果你是新手,且没看过我之前的一系列SpringBoot文章,

    2024年02月17日
    浏览(34)
  • 【SpringBoot】拦截器(Interceptor)的使用

            拦截器(Interceptor)是一种特殊的组件,它可以在请求处理的过程中对请求和响应进行拦截和处理。拦截器可以在请求到达目标处理器之前、处理器处理请求之后以及视图渲染之前执行特定的操作。拦截器的主要目的是在不修改原有代码的情况下,实现对请求和响

    2024年02月04日
    浏览(35)
  • Spring Boot拦截器(Interceptor)详解

    **拦截器(Interceptor)**同 Filter 过滤器一样,它俩都是面向切面编程——AOP 的具体实现(AOP切面编程只是一种编程思想而已)。 你可以使用 Interceptor 来执行某些任务,例如在 Controller 处理请求之前编写日志,添加或更新配置…… 在 Spring 中,当请求发送到 Controller 时,在被 Contr

    2024年02月03日
    浏览(30)
  • 过滤器Filter,拦截器Interceptor

    过滤器Filter 快速入门   详情 登录校验-Filter 拦截器Interceptor 简介快速入门 定义拦截器 配置拦截器 详解(拦截路径,执行流程) 登录校验-Interceptor

    2024年02月07日
    浏览(34)
  • quarkus依赖注入之五:拦截器(Interceptor)

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本文是《quarkus依赖注入》系列的第五篇,经过前面的学习,咱们熟悉了依赖注入的基本特性,接下来进一步了解相关的高级特性,先从本篇的拦截器开始 如果您熟悉spring的话,对拦截器应该不会陌

    2024年02月14日
    浏览(29)
  • SpringBoot自定义拦截器interceptor使用详解

    Spring Boot拦截器Intercepter详解 Intercepter是由Spring提供的Intercepter拦截器,主要应用在日志记录、权限校验等安全管理方便。 使用过程 1.创建自定义拦截器,实现HandlerInterceptor接口,并按照要求重写指定方法 HandlerInterceptor接口源码: 根据源码可看出HandlerInterceptor接口提供了三个

    2024年02月13日
    浏览(27)
  • Spring MVC拦截器Interceptor使用(判断用户登录)

    Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。 拦截器可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包