流星:同步到服务器后才能启动空闲监视器

MBu*_*eld 3 meteor

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

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

Meteor.startup(function() {
  UserStatus.startMonitor({
       threshold: 30000,
       interval: 1000,
       idleOnBlur: true
  });
});
Run Code Online (Sandbox Code Playgroud)

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

要使空闲监视运行,缺少哪些链接?

Eth*_*aan 5

好像你不能启动客户端下的监视器同步与服务,所以你需要换行的try /抓一个内部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();
    }
});
Run Code Online (Sandbox Code Playgroud)

这应该工作。

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