js promise 等待上一个promise
时间: 2023-09-02 14:11:07 浏览: 48
在JavaScript中,可以使用Promise的`then()`方法来等待上一个Promise完成后再执行下一个Promise。
当一个Promise被解决(fulfilled)时,它会调用它的`then()`方法,该方法接受两个参数:一个是成功回调函数,另一个是失败回调函数。成功回调函数将在Promise成功时被调用,而失败回调函数将在Promise失败时被调用。
通过在`then()`方法中返回另一个Promise对象,可以实现等待上一个Promise完成后再执行下一个Promise。这种方式称为Promise链。
以下是一个示例代码,展示了如何通过Promise链来等待上一个Promise完成后再执行下一个Promise:
```javascript
// 第一个Promise
const firstPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('First Promise Resolved');
}, 1000);
});
// 第二个Promise
const secondPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Second Promise Resolved');
}, 2000);
});
// 等待第一个Promise完成后执行第二个Promise
firstPromise.then((result) => {
console.log(result); // 输出:First Promise Resolved
return secondPromise;
}).then((result) => {
console.log(result); // 输出:Second Promise Resolved
});
```
在上面的代码中,第一个Promise在1秒后被解决,然后第二个Promise在第一个Promise完成后的2秒后被解决。通过使用`then()`方法并返回下一个Promise对象,我们可以确保第二个Promise在第一个Promise完成后才会执行。