来自node.js的多个异步响应

时间:2018-07-28 08:05:16

标签: node.js express

我正在开发一个node.js应用程序,在该应用程序上登录后,我们需要从不同实体向用户发送大量信息,以填充其仪表板。

因此,我一直在发送大量信息,而不是一直保持响应,直到我们从数据库中获取所有信息为止。我相信res.write是我应该使用的方法。

我正在使用猫鼬,所以我的所有查询都没有使用await。我将它们并排解雇(以期加快进程)。

最终,我需要结束响应,但是我不知道如何确定是否返回了我需要的所有内容(所有任务都已完成)。

2 个答案:

答案 0 :(得分:1)

这种行为不能由服务器决定,服务器从客户端收到1个请求,如果服务器需要在完成该请求之前从多个其他资源中获取信息,那么不幸的是,客户端只需要等待。

或者,这听起来更像是一种更合适的方法,将调用分成单独的API,并让客户端独立获取每个API-这将为您带来所需的效果,而不必等待 all < / em>在开始渲染视图之前返回的数据。

答案 1 :(得分:0)

如果要在单个请求中获取所需的信息,则可以使用await Promises.all([task1, task2,...]);

您还可以触发来自仪表板的多个请求,以获取所有所需的部分信息。