实时获取结果 دون انقطاع في الواجهة
您希望在后端生成大量记录时实时获取数量结果,并考虑了 websocket 连接和轮询请求。
潜在解决方案
虽然 WebSocket 是一种可靠的选项,但对于此特定用例来说确实有些过大。除了上面提到的方法之外,还有一种鲜为人知但有效的解决方案:
服务器推送事件 (SSE)
SSE是一种轻量级的协议,由后端向客户端推送异步事件流。它与 WebSocket 相似,但更轻量、易于实施。
使用 SSEの実装
以下是使用 SSE 的潜在实现步骤:
- 在后端启用 SSE。这可以使用各种框架和库(例如 Node.JS 中的 Event-source 包)来实现。
- 在前端,使用 EventSource 对象建立 SSE 连接。
- 后端会通过 SSE 连接向前端推送事件。
- 前端可以监听这些事件并在收到时更新数量。
SSE 的优点包括:
- 实时数据推送
- 连接保持活动,无需建立新连接
- 易于实施和维护
- 与浏览器兼容性良好
您提到的 EventSource 是 SSE 的原生 JavaScript 实现,可以为您的用例提供便捷的解决方案。