Promise代码
时间: 2023-07-02 16:05:47 浏览: 46
Promise 是 JavaScript 中处理异步操作的一种方式,它可以让我们更方便地组织和管理异步代码。下面是一个简单的 Promise 示例代码:
```javascript
// 定义一个返回 Promise 的函数
function fetchUser(id) {
return new Promise((resolve, reject) => {
// 模拟异步请求数据
setTimeout(() => {
if (id > 0 && id < 6) {
resolve({ id: id, name: `User${id}` });
} else {
reject('Invalid user id');
}
}, 1000);
});
}
// 调用 fetchUser 函数,并在 Promise 完成后执行回调函数
fetchUser(3).then(user => {
console.log(user); // { id: 3, name: 'User3' }
}).catch(error => {
console.error(error); // 'Invalid user id'
});
```
以上代码中,我们定义了一个返回 Promise 对象的函数 `fetchUser`,它接收一个 `id` 参数,并模拟异步请求数据的过程。在 Promise 的构造函数中,我们使用 `setTimeout` 模拟异步操作,并在异步操作完成后,根据条件调用 `resolve` 或 `reject` 方法,以表示异步操作的成功或失败。
在调用 `fetchUser` 函数时,我们使用 `then` 方法来注册 Promise 对象的成功回调函数,在 Promise 成功完成后,会将异步操作的结果作为参数传递给回调函数。如果 Promise 失败了,则会调用 `catch` 方法来注册失败回调函数,从而可以捕获到异步操作的错误信息。
需要注意的是,Promise 的回调函数都是异步执行的,因此在回调函数中不能直接使用 Promise 返回的结果。如果需要在 Promise 完成后执行一些操作,可以将这些操作放在回调函数中,或者使用 `async/await` 等语法糖来处理 Promise。