/

等待所有的 Promise 在 JavaScript 中解析

等待所有的 Promise 在 JavaScript 中解析

如何等待多个 Promise (使用 await) 同时解析

有时我们需要等待一个 Promise 解析,然后再等待另一个 Promise 解析。

就像这样:

1
2
const values = await store.getAll()
const keys = await store.getAllKeys()

起作用,但不是理想的。我们首先等待第一个调用被解析,然后开始第二个。

我想先同时开始两个,并等待两个都完成。不多一毫秒。

解决方案是将所有内容封装在 await Promise.all() 调用中,像这样:

1
const data = await Promise.all([store.getAll(), store.getAllKeys()])

一旦这个解析完成,我们可以使用 data[0] 访问第一个调用的值,并使用 data[1] 访问第二个调用的返回值。

tags: [“JavaScript”, “Promise”, “async/await”]