1.
Promise构造函数:new Promise(executor){}
executor函数:是同步执行的,(resolve,reject)=>{}
resolve函数:调用resolve将Promise实例内部状态改为成功(fulfilled)
reject函数:调用reject将Promise实例内部状态改为成功(rejected)
2.
Promise.prototype.then方法:Promise实例.then(onFulfilled,onRejected)
onFulfilled:成功的回调函数(value)=>{}
onRejected:失败的回调函数(reason)=>{}
特别注意(难点):then方法会返回一个新的Promise实例对象
3.
Promise.prototype.catch方法:Promise实例.catch(onRejected)
onRejected:失败的回调函数(reason)=>{}
说明:catch方法是then方法的语法糖,相当于:then(undefiend,onRejected)
4.
Promise.resolve方法:Promise.resolve(value)
说明:用于快速返回一个状态为fulfilled或rejected的Promise实例对象
备注:value的值可能是:(1)非Promise值 (2)Promise值
5.
Promise.reject方法:Promise.reject(reason)
说明:用于快速返回一个状态必为rejected的Promise实例对象
6.
Promise.all方法:Promise.all(promiseArr)
promiseArr:包含n个Promise实例的数组
说明:返回一个新的Promise实例,只有所有的promise都成功才成功,只要有一个失败就直接失败
7.
Promise.race方法:Promise.race(promiseArr)
promiseArr:包含n个Promise实例的数组
说明:返回一个新的Promise实例,成功还是失败?,已最先出结果的Promise为准
视频解析:16_Promise.all与Promise.race_哔哩哔哩_bilibili
Promise实例.then()链式调用,中段Promise链,Promise错误穿透.catch()_Allen 赵奇隆的博客-CSDN博客