Promise对象-异步编程的方案
pending ( 进行中)
fulfilled ( 已成功)
rejected (已失败)
resolved(已定型)
优点
1)可以将异步操作以同步操作的流程表达出来
2)Promise对象提供统一的接口,使得控制异步操作更加容易
缺点
1)无法取消Promise
如果不设置回调函数,内部抛出的错误,不会反应到外部
2)当处于pending状态时 ,无法得知进展阶段
Promise对象-方法
Promise.prototype.then() 回调函数
Promise.prototype.catch() 报错函数—setTimeout的throw不会执行;resolve后面的throw不会执行;
Promise.prototype.finally0 结束
Promise.all() 多个promise实例整合成一个;一个失败都失败
Promise.race() 返回最快的结果,不管成功还是失败
Promise.resolve() 现有对象转promised对象
Promise.reject() 失败
Axios 是一个基于Promise 用于浏览器和 Nodejs 的 HTTP 客户端:
从浏览器中创建 XMLHttpRequests
从 node.js 创建 http 请求
支持 Promise API
拦截请求和响应