【问题标题】:Best way to send data from server to frontend in real time (MEAN)将数据从服务器实时发送到前端的最佳方式(MEAN)
【发布时间】:2019-08-05 19:46:28
【问题描述】:

我正在创建一个 nodejs (10.16) 和 angular(8) 应用程序,旨在根据列表生成和邮寄 png 文件。用户应该进入主页面并加载一个excel文件,然后应用程序读取这个文件并将其转换为一个数组,如:

list = [
  [name1, email1@mail.com]
  [name2, email2@mail.com]
  [        ...           ]
  [namex, emailx@mail.com]
]

如下表所示:

然后,当用户单击发送按钮时,应用程序会创建 png 文件并将它们发送到给定的电子邮件。整个过程(从用户点击发送到服务器完成发送最后一封邮件)每封邮件可能需要 1-3 秒,因此如果用户提供 10 封邮件,则该过程可能需要 30 秒。

所以我想做的是显示一个进度条或某种通知机制,以向用户显示正在处理的元素以及有多少邮件正在等待实时发送。

问题是,例如,当用户选择一个 excel 文件时,我可以显示姓名和电子邮件,因为我所做的是将文件上传到服务器(后端),然后它返回一个特定的响应(一个 json实际上)可以在前端处理,但它只是一个不随时间变化的元素。

所以问题是,您建议我使用什么资源/机制将数据从后端实时发送到前端?这样我应该能够实时显示正在处理的资源。

我进行了一些研究并找到了有关服务器发送事件和 Websocket 的信息,但我真的很想知道这些方法是否正确以及我应该考虑哪些替代方法。

谢谢!

【问题讨论】:

    标签: node.js real-time mean-stack angular8


    【解决方案1】:

    由于处理可能需要很长时间,您需要保持与服务器的通信并接收多个更新。 Websockets 在这里绝对合适。

    Socket.io 是一个很棒的库,并且易于用于此目的的实时通信。

    【讨论】:

      猜你喜欢
      • 2018-10-03
      • 1970-01-01
      • 2011-08-10
      • 2011-09-17
      • 2018-01-11
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多