铁路由器Meteor.user()还没准备好

时间:2014-05-19 03:20:27

标签: meteor meteorite atmosphere iron-router

我遇到的问题是我的userId函数在Meteor.user()准备就绪之前正在运行,因此没有Meteor.user()._id存在,因此我得到Exception in defer callback: TypeError: Cannot read property '_id' of undefined运行代码。如果我使用命令Meteor.userId(),它会为该部分修复它,但它不能解决Meteor.user()尚未就绪的重大问题。

这是我的代码:

userId : function(){
  console.log('userId called and here is the Meteor.user(): ', Meteor.user());
  return (this.params._id || Meteor.user()._id);
},
waitOn: function () {
  console.log('waitOn called');
  return Meteor.subscribe('userProfile', this.userId())
},
addedData : function(){
  ........
},
data: function(){
  ...........
},
onBeforeAction : function(){
  ............
},
onStop : function(){
  _.each(this.subscriptions, function(sub){
    sub.stop();
  });
}

我该如何解决这个问题?

0 个答案:

没有答案