Promise 学习小结——静态方法详解
...大约 1 分钟
Promise 学习小结——静态方法详解
1、Promise.all(iterable)
该方法返回一个promise,该promise会等iterable参数内的所有promise都被resolve后被resolve,或以第一个promise被reject的原因而reject。
语法
Promise.all(iterable)
参数iterable是一个可迭代对象,如Array。
描述
结果是promise 的一组值。若传入的可迭代数组中某项不是一个promise,该项会被用Promise.resolve转换为一个promise。若任一个传入的promise被拒绝了,all promise立刻带着该promise的拒绝原因进入rejected状态,不再理会其它传入的promise是否被解决。
示例
const promise = Promise.resolve(3);
Promise.all([true, promise])
.then((values) => {
console.log(values);//[true, 3]
})
2、Promise.resolve(value)
该方法返回一个以给定值解析后的promise对象。 若这个给定值为一个thenable,返回的promise会跟随这个thenable对象,并采用它的最终状态。 否则,以该给定值为成功状态返回promise对象。
语法
Promise.resolve(value)
Promise.resolve(promise)
参数iterable是一个值、promise对象或thenable。
示例
- 对值resolve
Promise.resolve('success')
.then((value) => {
console.log(value);//success
}, (value)=> {
console.log(value); //not called
})
- 对数组resolve
const p = Promise.resolve([1, 2, 3]);
p.then((value) => {
console.log(value);//success
}, (value)=> {
console.log(value); //not called
})
- 对promise resolve
const p1 = Promise.resolve(true);
const p2 = Promise.resolve(p1);
p2.then(value => {
console.log(value);
})
3、Promise.reject(reason)
该方法返回一个用reason拒绝的promise。
语法
Promise.reject(reason)
参数reason是被拒绝的原因。
描述 Promise.reject返回一个被拒绝的Promise。使用Error实例的reason对调试和选择性错误捕捉很有帮助。
示例
Promise.reject('Testing')
.then((reason) => {
console.log(reason);// not called
}, (reason) => {
console.log(reason);//Testing
})
Promise.reject(new Error('failed'))
.then((reason) => {
console.log(reason);// not called
}, (reason) => {
console.log(reason);//Testing
})
Powered by Waline v3.0.0-alpha.9
预览: