每x秒刷新一次帕格variables值

是否有可能每隔x秒刷新一个帕格variables? 我有以下代码:

router.get("/rooms", function(req, res) { device_data.find({ "selector": { "payload.d.data": { "$gte": 0 } }, "fields": [ "_id", "deviceId", "payload.d.data", "payload.d.time" ], "sort": [{ "payload.d.time": "desc" }] }, function(err, device) { if (err) { throw err; } else { res.render(path + 'rooms', { rooms: rooms, }); }); 

我尝试在device_data.find之前使用setInterval,但它不起作用。

不,恐怕这是不可能的。 帕格是一种可以编译成静态HTML的标记语言。 由于这个限制,它不能dynamic更新 – 一旦它被编译为HTML,Pug就不再有任何发言权。 如果您希望页面dynamic更新,则必须在前端侧(即从浏览器内)发起。 例如,你可以把这个setInterval调用放到你链接到HTML页面的客户端JS脚本中,让它周期性地以计数器作为参数来获取页面(或者使用AJAX做一些类似的获取过程)。