如何在发出请求时等待客户端的响应



这是流程:

  1. 我向服务器发送请求:GET /status/
  2. 我的服务器向我的客户端发送推送通知
  3. 我的客户-稍有延迟(最多10秒)-向我的服务器发出状态为:POST /status/XYZ的请求
  4. 现在,我从步骤1开始的请求应该返回XYZ

我的服务器是node.js,我使用express进行路由。有什么想法吗?我怎么才能做到这样?我的想法是在步骤3中将状态存储在数据库中,并在步骤1中每秒查询我的数据库,直到我得到状态,但我确信这不是一个好的解决方案。

实时状态?你应该使用套接字。看看socket.io

仍然要使用HTTP请求?

只需将第一个请求的结果存储到数据库内部(或外部)的对象中(它将充当缓存层)。因此,当他提出疑问时,他可以立即得到结果。类似于:

{
ABC: value
XYZ: value,
}
router.post('status/XYZ', (req, res) => {
return res.json(values['XYZ']);
});

最新更新