【发布时间】:2019-09-26 20:28:17
【问题描述】:
我有一个快速应用程序,它在启动后会从外部源获取外部数据。在应用程序中获取数据之前,这将使用默认模板响应所有查询。
在最初的 3 或 4 秒内,应用会使用该模板进行响应,然后正常运行。
这实际上是一个问题。我想避免这种默认响应。我想检查(在服务器运行后)是否已获取数据,然后等到准备好发送正确的响应。
也就是说,尽管最初的几秒钟,客户端会觉得应用程序很慢,这将始终收到正确的响应。
【问题讨论】:
-
修复服务器。
-
在您调用
res.end()(或 res.send/json/render)之前,它们已经“入队”了。究竟是什么阻止了您在获取任何数据之前不发送“默认响应”? -
数据将在内存中获取一次,并且仅在开始时使用异步方法。也就是说,服务器正在运行而没有响应所需的信息。如果在获取期间(3-4 秒),任何来自路由的请求都不会解决任何问题,它将使用中间件使用默认模板处理默认错误。我不想同步数据获取。相反,如果一个请求即将到来并且没有数据可用,那么该请求应该等到数据被获取,然后才给出响应
标签: javascript node.js express