【发布时间】:2019-05-24 02:53:41
【问题描述】:
我可以吗
array.push(fetch(`something`))
用于在 Promise.all 中执行 / 用于等待,或者
fetch(`something`)
在我将它推送到数组之前执行它自己,而不是在我想要的时候在代码中进一步执行?
更多信息:
假设我需要使用 for await(如果我想一个接一个地执行它们)或 Promise.all(如果我想一起异步执行它们)进行许多查询。
我创建了一个查询数组:
let queries = []
let allResults = []
兑现承诺:
tiersQueries.push(fetch(`something`))
然后他们像这样执行它:
for await (const oneResult of queries) {
allResults.push(oneResult)
}
或者这个:
let results = await Promise.all(array)
allResults = results
【问题讨论】:
-
fetch()返回一个承诺并且不等待任何东西。 -
那么此时数据获取已经开始了吗?
-
是的,已经开始了
-
我认为你只需要包装一些东西就可以了。我建议你提出真正的代码(作为一个工作单元,不是所有的,而是相关的部分......),这样你就可以显示你的问题到底出在哪里。程序员喜欢代码。
-
@SilvanBregy 完成:stackoverflow.com/questions/56245587/…