提问人:albertoivo 提问时间:11/17/2023 更新时间:11/17/2023 访问量:27
前端尽快获得结果,即使所有结果还没有准备好
Frontend get the result as soons as possible even with all the result is not ready yet
问:
我在后端运行了很多 fetch(超过一百个)。前端必须等待后端运行所有这些获取,直到收到整个结果:
let result = []
for (const origin of originList) {
for (const destiny of destinationList) {
const url = // mount url
const respPromise = fetch(url)
.then((resp) => resp.json())
.then((data) => {
result.push(data.text)
})
fetchPromises.push(respPromise)
}
}
await Promise.all(fetchPromises)
return result
前端 (ReactJS) 只是执行 fetch 来调用后端。
上面的代码在很长一段时间后收到正确的结果,因为它必须等待数十次提取才能运行。这是我可以在准备好后立即返回每个结果的一种方式吗?
答:
0赞
Sakar
11/17/2023
#1
与其获取所有结果,然后一次性发送它们,不如考虑使用流式处理方法,在结果可用后立即将其发送到前端。您可以使用后端等库来创建前端可以使用的可读流,但请确保也要调整前端。stream
评论
return