axios是一个第三方JS库,用于实现接口调用的
注意axios都是通过then的链式编程来实现,所以类似回调地狱的改善版本,也是会造成很多链条的。
axios的then方法接收到的是请求的结果即data数据,请求返回回来的数据一般是JSON格式,然后axios内部帮我们把数据转换过了,不用我们转换了
用法:
① 下载,然后再像一个JS文件引入 axios.js文件
② 或者 使用npm 安装
axios特征:
(axios是一个基于promise用于浏览器和node.js的 HTTP 客户端),是一个基于promise,可以用于浏览器的 http 客户端 和 node.js的 http 客户端
- 支持浏览器和node.js (浏览器、node.js都是客户端,是环境)
- 支持promise
- 支持请求拦截器、响应拦截器
- 自动转换JSON数据
get / post / delete / put 请求区别
get传递参数: ( Content-type )
① URL形式的参数:写在URL后面,如 " /login?name='aaa'&pwd='bbb' "
② params选项传递参数:{ params : { id:123} }
③ delete 与 get 相似

post传递参数:( Content-type 或者 application/x-www.form-urlencoded )
① 默认传递JSON格式的数据:通过对象形式传递参,如{ name:'hux' }
② 表单形式的数据:首先要创建一个 URLsearchParams对象
③ put 与 post 相似

响应结果的主要属性
data:数据
headers:响应头信息
status:响应状态码
statuText:响应状态
axios全局配置:
超时时间:axios.defaults.timeout
默认地址:axios.defaults.baseURL
请求头:axios.defaults.headers[ ' mytoken ' ]
token在network中的request Header目录下

axios拦截器
请求拦截器
axios.interceptor.request.use( fn1,fn2 )

响应拦截器
axios.interceptor.response.use( fn1,fn2)

axios的类型
AxiosPromise 类型,简单解释一下就是axios 是 promise 包装后的函数,


async/await

async/await是升级过的promise
目的:
传统的promise、axios.then模式,当发送了多个异步请求后,为了保证数据的正确顺序,会有很多then的链子,也是很不方便的,所以出现了async/await。
async
async修饰的函数的返回值,是一个新的promise对象,所以可以直接调用then方法。
await
await修饰的axios方法(await修饰的东西的本质是一个promise对象),await左边接收的是一个修饰过后的异步结果。
async / await 处理多个异步请求


2321

被折叠的 条评论
为什么被折叠?



