Javascript 流星:Tracker.autorun不是&x27;是否在用户集合更改时运行?

Javascript 流星:Tracker.autorun不是&x27;是否在用户集合更改时运行?,javascript,facebook,meteor,Javascript,Facebook,Meteor,我正在使用Meteor中的集合管理Facebook数据。由于在用户登录Facebook之前无法定义FacebookCollection,因此介绍了一种自动定义FacebookCollection的方法;我一直在这样尝试: /lib/collections.js Tracker.autorun(_.bind(function(){ var user = this.user; if (user && user.services && user.serv

我正在使用Meteor中的集合管理Facebook数据。由于在用户登录Facebook之前无法定义FacebookCollection,因此介绍了一种自动定义FacebookCollection的方法;我一直在这样尝试:

/lib/collections.js

Tracker.autorun(_.bind(function(){
    var user = this.user;
    if (user && user.services && user.services.facebook && !Friends){
       Friends = FacebookCollections.getFriends("me",["id","name"],100);
    }
}),this);
使用一些日志语句,我只看到此运行一次,在早期,当用户仍然
未定义时,但不再运行。我怀疑它没有被重新运行,因为它没有引用一个反应数据源,即用户集合,但我不太确定如何在这里让它工作

注意:票证中的示例使用Meteor.user(),但是,这会导致错误:
错误:Meteor.userId只能在方法调用中调用。在发布函数中使用this.userId。