我有一个节点项目,该项目使用PUG / Jade文件渲染网页。每分钟执行一次JS文件,以更新Redis数据库,我希望GUI也每分钟更新一次,以反映所有更改。
下面是当前如何传递数据的简化版本:
.../home
routes.js
执行router.get('/home', controller.renderHome)
controller.js
执行以下操作:
function getData(){
return { some_data }
}
renderHome: async (req, res) => {
res.render('home', getDetails())
}
然后我可以访问.pug文件中的数据。
使用此方法,我只能在访问路由(即刷新页面)时获取更新的数据。但是数据用于绘制图形,我想每分钟更新一次。
我应该如何将数据传递到GUI,这将使我能够每分钟简单地重新绘制图形,而不是每次都强制浏览器重新加载(我猜这是一种不好的做法)>
答案 0 :(得分:1)
您有两个选择:
WebSocket可能是最好的选择:https://socket.io/
答案 1 :(得分:0)
使用Socket.io https://socket.io/,然后在前端使用cd sts-3.9.6/pivotal-tc-server/instances
ln -s $HOME/servers/tc_server .
函数每分钟向后端发出一个socket.io事件。