• Axios


    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端。简单的理解就是ajax的封装

    它本身具有以下特征:

         a.从浏览器中创建 XMLHttpRequest
         b.从 node.js 发出 http 请求
         c.支持 Promise API
         e.拦截请求和响应
         f.转换请求和响应数据
        g.取消请求
        h.自动转换JSON数据
        i.客户端支持防止 CSRF/XSRF

    promise是什么:是一个对象用来传递异步操作的信息,它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的api,可供进一步的处理。

    promise的作用:Promise的出现主要是解决地狱回调的问题,比如你需要结果需要请求很多个接口,这些接口的参数需要另外那个的接口返回的数据作为依赖,这样就需要我们一层嵌套一层,但是有了Promise 我们就无需嵌套。

    promise的本质是什么:分离异步数据获取和业务


    基本使用方法:

    axios执行GET请求

     
    GET 请求方法

    执行POST请求

     
    POST请求方法

    执行多个并发请求

     
    多个并发请求

    get和post都是基于promise的所以写法上很相似,是用then和catch,使用这种方法来进行发送请求。

    还有一个axios重要的知识点就是拦截器

    拦截器

    在请求或响应被 then 或 catch 处理前拦截它们(拦截器可以做什么:在请求或者响应时拦截下来进行处理)

    拦截器分为请求拦截器和响应拦截器

    请求拦截器(interceptors.requst)是指可以拦截每次或指定HTTP请求,并可修改配置项。

    响应拦截器(interceptors.response)可以在每次HTTP请求后拦截住每次或指定HTTP请求,并可修改返回结果项。

     
    拦截器的写法

    拦截器的工作流程:

     
    拦截器工作流程

    移除拦截器

     
    移除拦截器

    自定义 axios 实例添加拦截器

     
    添加拦截器

    取消

    使用 cancel token 取消请求

    可以使用 CancelToken.source 工厂方法创建 cancel token

    参考资料:axios中文文档



     
     
    本文有所借鉴
    简书大神连接 :https://www.jianshu.com/p/13cf01cdb81f

    CSDN大神连接:https://blog.csdn.net/gao_xu_520/article/details/79726298

  • 相关阅读:
    bug-- java.lang.RuntimeException: Type “Klass*"
    ThreadPoolExecutor源码分析二
    ThreadPoolExecutor源码分析一
    java动态代理框架
    liunx 中一个命令可以检测 ps -C java --no-heading| wc -l 一般用于shell脚步编写用
    log4j.properties 使用说明
    图文详解MyEclipse中新建Maven webapp项目的步骤(很详细)
    MySQL高可用性之Keepalived+Mysql(双主热备)
    使用cglib动态创建类,添加方法
    2017年5月5日 星红桉liunx动手实践mysql 主主双机热备
  • 原文地址:https://www.cnblogs.com/wjohh/p/10703550.html
Copyright © 2020-2023  润新知