每隔x秒刷新一次pug变量值

时间:2017-09-14 21:07:18

标签: node.js pug setinterval

是否可以每隔x秒刷新一个哈巴狗变量? 我有以下代码:

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但它不起作用。

1 个答案:

答案 0 :(得分:1)

不,我担心这是不可能的。 Pug是一种标记语言,可编译为静态HTML。由于这种限制,它无法动态更新 - 一旦它被编译为HTML,Pug就不再对页面发生的事情发表意见了。如果您希望页面动态更新,则必须在前端(即在浏览器内)的主动下进行。例如,您可以将该setInterval调用放在链接到HTML页面的客户端JS脚本中,并让它定期获取一个以计数器作为参数的页面(或者使用AJAX来执行类似的提取过程)。