等待所有的 Promise 在 JavaScript 中解析
如何等待多个 Promise (使用 await) 同时解析
有时我们需要等待一个 Promise 解析,然后再等待另一个 Promise 解析。
就像这样:
1 | const values = await store.getAll() |
这起作用,但不是理想的。我们首先等待第一个调用被解析,然后开始第二个。
我想先同时开始两个,并等待两个都完成。不多一毫秒。
解决方案是将所有内容封装在 await Promise.all()
调用中,像这样:
1 | const data = await Promise.all([store.getAll(), store.getAllKeys()]) |
一旦这个解析完成,我们可以使用 data[0]
访问第一个调用的值,并使用 data[1]
访问第二个调用的返回值。
tags: [“JavaScript”, “Promise”, “async/await”]