Promise 对象方法(2)
2023-12-21 05:46:09
Promise.resolve() 方法
Promise.resolve() 方法返回一个以给定值解析后的 Promise 对象。如果这个值是 Promise 对象,则返回这个 Promise 对象;否则,返回一个新的 Promise 对象,该 Promise 对象的状态为已解析,且值为该给定值。
const promise1 = Promise.resolve(3);
promise1.then((value) => {
console.log(value); // 输出: 3
});
const promise2 = Promise.resolve(Promise.resolve(5));
promise2.then((value) => {
console.log(value); // 输出: 5
});
Promise.resolve() 方法的应用场景
-
将一个普通值转换为 Promise 对象 :Promise.resolve() 方法可以将一个普通值转换为 Promise 对象。这在某些情况下非常有用,例如,当我们需要将一个普通值传递给一个只接受 Promise 对象的函数时。
-
将一个 Promise 对象转换为另一个 Promise 对象 :Promise.resolve() 方法可以将一个 Promise 对象转换为另一个 Promise 对象。这在某些情况下也非常有用,例如,当我们需要对一个 Promise 对象进行额外的处理时。
Promise.reject() 方法
Promise.reject() 方法返回一个以给定值拒绝后的 Promise 对象。如果这个值是 Promise 对象,则返回这个 Promise 对象;否则,返回一个新的 Promise 对象,该 Promise 对象的状态为已拒绝,且值为该给定值。
const promise1 = Promise.reject(new Error('Error'));
promise1.catch((error) => {
console.log(error.message); // 输出: Error
});
const promise2 = Promise.reject(Promise.reject(new Error('Error')));
promise2.catch((error) => {
console.log(error.message); // 输出: Error
});
Promise.reject() 方法的应用场景
-
将一个错误值转换为 Promise 对象 :Promise.reject() 方法可以将一个错误值转换为 Promise 对象。这在某些情况下非常有用,例如,当我们需要将一个错误值传递给一个只接受 Promise 对象的函数时。
-
将一个 Promise 对象转换为另一个 Promise 对象 :Promise.reject() 方法可以将一个 Promise 对象转换为另一个 Promise 对象。这在某些情况下也非常有用,例如,当我们需要对一个 Promise 对象进行额外的处理时。