推荐答案
// www.javascriptcn.com code example
const myReject = (reason) => {
return new Promise((resolve, reject) => {
reject(reason);
});
};
// 示例用法
myReject('Something went wrong').catch((error) => {
console.error(error); // 输出: Something went wrong
});本题详细解读
1. 实现思路
Promise.reject 是 JavaScript 中 Promise 的一个静态方法,用于返回一个被拒绝的 Promise 对象。我们可以通过手动创建一个新的 Promise 对象,并在其构造函数中调用 reject 方法来实现类似的功能。
2. 代码解析
myReject函数接受一个参数reason,表示拒绝的原因。- 在函数内部,我们创建了一个新的 Promise 对象,并在其构造函数中直接调用
reject方法,将reason作为参数传递进去。 - 这样,返回的 Promise 对象将立即被拒绝,并且可以通过
.catch方法来捕获这个错误。
3. 示例用法
在示例中,我们调用 myReject 函数并传递一个字符串 'Something went wrong' 作为拒绝的原因。然后通过 .catch 方法捕获这个错误,并在控制台中输出错误信息。
4. 注意事项
myReject函数的实现与原生Promise.reject的行为一致,返回的 Promise 对象会立即被拒绝。- 在实际使用中,可以根据需要传递不同的拒绝原因,例如错误对象、字符串或其他数据类型。