# Promise 快速入门
# 1. 静态方法
# 1.1. Promise.all()
语法:
Promise.all(promises)
.then((results) => {
// results: 所有 Promise 成功的结果列表
})
.catch((e) => {
// e: 第一个失败的 Promise 的错误
})
说明:
- 所有 Promise 都执行成功,则进入 resolve 回调,resolve 回调的形参为 结果列表
- 如果有一个 Promise 失败,则返回第一个失败的 Promise 的结果
示例:
const promise1 = Promise.resolve(3)
const promise2 = 42;
const promise3 = Promise.reject(new Error('promise3 error'));
const promise4 = Promise.reject(new Error('promise4 error'));
Promise.all([promise1, promise2])
.then((values) => {
console.log(values); // Array [3, 42]
})
.catch((e) => {
console.log(e)
});
Promise.all([promise1, promise2, promise3, promise4])
.then((values) => {
console.log(values);
})
.catch((e) => {
console.log(e); // Error: promise3 error
});
# 1.2. Promise.allSettled()
说明:
- 所有 Promise 执行完成后,则进入 resolve 回调,resolve 回调的形参为 结果列表
示例:
const promise1 = Promise.resolve(3);
const promise2 = Promise.reject('promise2 error');
const promise3 = Promise.reject(new Error('promise3 error'));
const promises = [promise1, promise2];
Promise.allSettled([promise1, promise2, promise3]).then((results) =>
console.log(results)
);
/*
Array [
Object { status: "fulfilled", value: 3 },
Object { status: "rejected", reason: "promise2 error" },
Object { status: "rejected", reason: Error: promise3 error }
]
*/
# 1.3. Promise.any()
TODO
# 1.4. Promise.race()
TODO
# 1.5. Promise.reject()
TODO
# 1.6. Promise.resolve()
TODO
# 2. 参考
上一篇: 下一篇:
本章目录