如何发送多个请求以使客户端知道上传和处理已完成?

时间:2018-12-16 02:23:37

标签: node.js express

我试图弄清楚如何发送多个请求,以使客户端知道上传和处理已完成。

例如:让客户端知道上传已完成,并且处理已经开始。处理完成后,发送另一个请求以通知客户端。

我只想知道要使用的正确函数,因为似乎要发送两个res.write()直到我调用res.end()时才发送。

1 个答案:

答案 0 :(得分:2)

您实际上想将服务器/后端异步发生的更新告知客户端。

从头开始,有几种方法可以将异步信息传递给客户端:

  1. 打开一个流,并通过该流将更新推送到客户端(for example, using server-sent-events
  2. 打开一个websocket并将消息推送到客户端(您需要管理HTTP和websocket连接以写入正确的消息)
  3. 创建新的路由,使客户可以订阅有关工作状态(some example code)的信息

我将根据您当前的客户端设计选择一种解决方案。如果您已经有了类似websockets的功能,我会使用它-但如果没有的话,它是相当多的设置。流跨浏览器可能无法工作,但构建起来很容易。对于第三个选项,您可能需要做更多的整理工作,以防止客户端断开连接时造成一些内存泄漏。