在我的 Angular5/NodeJS 网络应用程序中,我们有一个需要实时数据的仪表板。
如果数据库中有任何数据变化,我们希望它立即反射(reflect)在前端。目前,我们会定期(比如 30 秒)重新加载数据。
socket.io 可以帮助实现这一目标吗?
不确定,它如何知道数据库中是否有任何数据更改?
最佳答案
您可以使用 HTML5 中的 SSE(服务器发送事件)功能。
服务器发送事件 (SSE) 是一种标准,描述了在建立初始客户端连接后服务器如何向客户端发起数据传输。它们通常用于向浏览器客户端发送消息更新或连续数据流,旨在通过名为 EventSource 的 JavaScript API 增强 native 跨浏览器流式传输,客户端通过该 API 请求特定 URL 以接收事件流。
由于 SSE 是单向的,它将节省工作量并提高性能,因为您只想将数据库更新发送到前端,即仅单向。
希望对您有所帮助。
关于javascript - socket io - 它如何知道数据库中的数据是否已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50835955/