new Promise 返回的是一个 Promise对象
时间: 2024-08-27 12:00:41 浏览: 80
new Promise 是 JavaScript 中用于创建一个新的 Promise 对象的构造函数。Promise 是一种处理异步操作的对象,它封装了异步操作的结果,并提供了一种链式调用的方式来处理异步操作的成功或失败。
当你调用 `new Promise` 时,需要传入一个工厂函数作为参数,这个工厂函数有两个回调函数:resolve 和 reject。resolve 函数在异步操作成功时调用,接收成功的结果作为参数;reject 函数则在操作失败时调用,接收错误信息作为参数。
示例:
```javascript
function myAsyncTask(data) {
return new Promise((resolve, reject) => {
// 异步操作
setTimeout(() => {
if (/* 成功 */) {
resolve(result); // 成功时调用 resolve 并传递结果
} else {
reject(error); // 失败时调用 reject 并传递错误
}
}, 1000);
});
}
myAsyncTask('example').then(result => {
console.log('Success:', result);
}).catch(error => {
console.error('Error:', error);
});
```
在这个例子中,`new Promise` 创建了一个可以被 `.then` 和 `.catch` 方法链式调用的 Promise,这样可以优雅地处理异步任务的结果和错误。
阅读全文