Promise对象
什么是Promise?
一个异步操作最终状态和结果值的对象
使用Promise对象的好处:
逻辑更清晰
了解 axios 函数内部运作机制
能解决回调函数地狱问题
语法:
const p = new Promise((resolve,reject) => {
//执行异步代码
}).then(result => {
//
}).catch(error => {
//
})
Promise的三种状态
-
待定状态( pending ):new Promise()
-
已兑现状态( fulfilled ):调用 resolve() 处理,使用 .then 获取返回值
-
已拒绝状态( rejected ):调用 reject() 处理,并使用 .catch() 获取返回值
一旦状态已敲定,就无法更改
Promise.all 静态方法
用来合并多个 Promise 对象
const p1 = new Promise((resolve, reject) => {})
const p2 = new Promise((resolve, reject) => {})
//获取的结果以传入的顺序排列 0 - n
Promise.all([p1, p2]).then(result => {
console.log(result)
}).catch(erroe => {
console.log(erroe)
})