如何在JavaScript中按顺序执行多个Promise
在本文中,我们将尝试理解如何使用JavaScript提供的几种技术或方法按顺序(一个接一个地)轻松执行多个Promise。
让我们首先快速了解如何使用JavaScript提供的以下语法创建一个Promise。
语法: 使用以下语法可以创建JavaScript的Promise。
使用上述语法,我们可以通过解决它(具有已解决状态)或拒绝它(具有已拒绝状态)成功创建我们的Promise。
例子: 在这个例子中,我们将创建一个简单的Promise来看看它是如何工作或如何执行的。
输出:
现在我们已经知道如何创建Promise了,让我们快速看一下如何以顺序方式执行多个Promise。
以下是一些方法,我们可以轻松按顺序执行多个Promise。
方法1:
- 在这种方法中,我们将使用 Promise.all() 方法,该方法以单个数组作为输入接受所有Promise。
- 因此,该方法在其中执行所有Promise并返回一个新的单个Promise,其中所有其他Promise的值合并在一起。
- 新返回的单个Promise中的值将按顺序排列(即一个接一个)。
- 返回的输出将以数组的形式返回,其中包含由其他两个Promise解析或拒绝的值。
例子: 让我们看一下下面的代码,它说明了上述方法:
输出:
方法2:
- 在这种方法中,我们将使用 Promise.allSettled() 方法,该方法与Promise.all()方法非常相似,它以单个数组作为输入执行并按顺序执行它们。
- 有一个细微的差别,即Promise.allSettled()方法返回一个对象数组,其中除了每个Promise的状态(已完成或已拒绝)外,还有每个Promise的值。
例子: 让我们看一下下面的代码,它说明了上述方法:
输出:
方法3:
- 在这个方法中,我们将使用for-of循环以及异步-等待方法。
- 我们将在promise数组上运行循环,进一步创建一个异步函数,并在其中等待结果,以及使用try-catch块将结果打印到浏览器的控制台。
示例: 让我们看看以下代码,它说明了上面的方法:
输出:
阅读更多:JavaScript 教程