再次成成then方法的链式调用代码示例,至少进行两次then方法
时间: 2024-10-15 14:19:17 浏览: 26
在JavaScript中,Promise 的链式调用通常通过`then()`方法实现,这种方式可以让异步操作看起来像同步操作一样连贯。下面是一个简单的Promise链式调用的例子,其中进行了两次`then()`方法:
```javascript
// 创建一个Promise对象,表示一个异步操作
const getUser = () => new Promise((resolve) => {
// 模拟异步操作,如从API获取用户数据
setTimeout(() => {
resolve({ id: 1, name: 'John Doe' });
}, 1000);
});
// 第一次.then()处理返回结果
getUser()
.then((user) => {
console.log('First user:', user.name); // 输出 "First user: John Doe"
return { id: user.id, isAdmin: true };
})
.then((updatedUser) => {
console.log('Updated user:', updatedUser.isAdmin); // 输出 "Updated user: true" (假设管理员ID为1)
})
.catch((error) => {
console.error('An error occurred:', error);
});
```
在这个例子中,首先调用了`getUser()`获取用户,然后第一个`.then()`处理了返回的数据并更新了一些信息,最后第二个`.then()`进一步处理了更新后的数据。如果任何一个步骤抛出错误,`.catch()`会被用来捕获它。
阅读全文