示例// Promise.resolve()Promise.resolve(1).then((data) => {console.log(data) // 1})// Promise.reject()Promise.reject(2).catch((data) => {console.log(data) // 2})// Promise.all()// 多个Promise都成功后获取结果,调用成功回调,如果有一个promise失败了,all返回的promise对象也会失败,调用失败回调Promise.all([1, new Promise((res, rej) => { res(10) })]).then((data) => {console.log(data) // [1, 10]})// Promise.finally()不管上一个promise状态是什么 都会执行Promise.resolve(111).finally((data) => {console.log(data) // undefinedreturn 2;// return new Promise((resolve, reject) => {//reject('222')// })}).then(data =https://tazarkount.com/read/> {console.log(data) // 111}).catch(reason => {console.log(reason) // finally中返回失败的promise才执行})// race 谁最快改变状态 就执行谁的回调Promise.race([1,3]).then(data => {console.log(data) // 1}).catch(err => console.log(data))手写实现【all race finally resolve reject Promise静态方法实现】class MyPromise {static finally(callback) {return this.then(data =https://tazarkount.com/read/> {// 直接调用callback()无法处理异步代码Promise.resolve(callback()).then(() => data)}, err => {Promise.resolve(callback()).then(() => {throw err})})}static all(promises) {let results = [];let promiseCount = 0;let promisesLength = promises.length;return new Promise(function(resolve, reject) {for (let val of promises) {// 将普通值也包装成promise来处理Promise.resolve(val).then(function(res) {// 记录当前执行了几个promisepromiseCount++;// 成功回调的参数存放到结果数组中results.push(res);// 当所有promise都为成功转态,在all返回的promise实例中调用resolve,传入结果数组 。if (promiseCount === promisesLength) {return resolve(results);}}, function(err) {return reject(err);});}});}static race(proms) {return new Promise((resolve, reject) => {proms.forEach((p) => {p.then((data) => {resolve(data);},(err) => {reject(err);},);});});}static resolve(data) {if (data instanceof Promise) {return data;} else {return new Promise((resolve) => {resolve(data);});}}static reject(reason) {return new Promise((resolve, reject) => {reject(reason);});}}
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
