手机登录/注册
X
登录
Promise 是一个 ECMAScript 6 提供的类,目的是更加优雅地书写复杂的异步任务。
方法 | 作用 | 应用场景 |
---|---|---|
.then() | 将参数中的函数添加到当前 Promise 的正常执行序列,.then() 传入的函数会按顺序依次执行,有任何异常都会直接跳到 catch 序列: | - |
.catch() | 设定 Promise 的异常处理序列 | - |
.finally() | 在 Promise 执行的最后一定会执行的序列 | - |
.all() | 等待所有都完成(或第一个失败) | 聚合请求 |
.allSettled | 返回一个promise,该promise在所有给定的promise已被解析或被拒绝后解析,并且每个对象都描述每个promise的结果。 |
new Promise(function (resolve, reject) {
setTimeout(function () {
console.log("First");
resolve();
}, 1000);
}).then(function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log("Second");
resolve();
}, 4000);
});
}).catch(function (err) {
console.log(err);
}).finally(function () {
console.log("End");
});
const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, 'foo');
});
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});