流星:在同步到服务器之前无法启动空闲监视器



我正在使用meteor-user-status来跟踪用户的在线状态。

根据文档,为了跟踪用户的空闲状态,我只需要将以下代码放在客户端上Meteor.startup

Meteor.startup(function() {
  UserStatus.startMonitor({
       threshold: 30000,
       interval: 1000,
       idleOnBlur: true
  });
});

但是这样做我收到错误消息在同步到服务器之前无法启动空闲监视器不幸的是,我找不到如何启动时间同步。在 github 上阅读文档时,我会假设它是默认启动的。

运行空闲监视缺少哪些环节?

似乎您无法启动客户端下的监视器与服务同步,因此您需要将 try/catchs 包装在 Tracker.autorun 中

Tracker.autorun(function () {
    if (Meteor.userId()) {
        try {
            UserStatus.startMonitor({
            threshold: 30000,
            interval: 1000,
            idleOnBlur: true
            });
        } catch(err) {
           console.log(err);
        }
    } else {
        UserStatus.stopMonitor();
    }
});

这应该有效。

还有一个名为 UserStatus.isMonitoring() 的函数,但基于这个 #33 问题似乎它可以冻结浏览器。

最新更新