Promise对象用于表示一个异步操作的最终完成(或失败)
语法:
new Promise((resolve, reject) =>{...})
(1)三种状态
-
pending(进行中) -
fulfilled(操作成功) -
rejected(操作失败)
(2)两种结果 (Promise 是更改异步操作状态的)
pending=>fulfilled === resolved(已定型)
pending=>rejected===reject 若运行中抛出一个错误会改为reject
let promise1 = new Promise((resolve, reject) => { //
setTimeout(() =>{
// resolve("Promise我完成")//fulfilled
reject("reject")//rejected
},3000)
})
console.log(p1)
p1.then((res) =>{//运行resolve
console.log(res)
}).catch((e) => {//运行rejest用于回调发生错误的函数
console.log(e)
}).finally(() => {
console.log("ok")
})
(3)Promise.finally方法:不管最终结果如何都会执行
(4)Promise.resolve只执行正确的
(5)Promise.all
(6)Promise.race
浙公网安备 33010602011771号