Promise
new Promise((resolve,reject) => { resolve("成功") //成功调用:resolve(值) 触发then()执行 reject(new Error("失败")) //失败调用:reject(值) 触发 catch()执行}).then(result => { //成功}).catch(reject => { //失败})
promise.all
Promise.all([<promise object1>,<promise object2>,...]).then(result => { // 所有promise成功,result:[<promise object1>,<promise object2>,...]}).catch(reject => { // 第一个promise对象,抛出的异常})
三种状态
一旦状态被兑现/拒绝,就无法再改变了
- 待定(pending):初始状态,既没有被兑现,有没有被拒绝
- 已兑现(fulfilled):意味着,操作成功完成
- 已拒绝(rejected):意味着,操作失败
回调函数地狱
回调函数不断嵌套
promise 链条调用
new Promise()
-> .then(回调函数)
-> 新的 Promise对象
- 利用then函数返回一个新的Promise对象特性,一直串联下去
async和await
在async函数内使用await关键字可以让下面的代码等待await执行完成
async function <function>(){ const <a> = await axios({ url: '<url>'}) const <b> = <a>.data}