我遇到的问题是我的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();
});
}
我该如何解决这个问题?