2014-11-05 68 views
1

自Meteor 1.0以來,我在鉤子onBeforeAction上有一個無限循環。 (create_game永遠叫)鐵路由器無限循環onBeforeAction

onBeforeAction: function(){ 

if(Meteor.userId()){ 

    Meteor.call('create_game', this.params._id, 1, function(error, result){ 
    if (error) 
    console.log(error); 
    else{ 
    game_sus = result; 
    Session.set('gamesolo_id', game_sus); 
    } 
    }); 
} 
this.next(); 

}, 

waitOn: function() { return Meteor.subscribe('game', Session.get('gamesolo_id))} 

的無限循環是由於會話變量的原因,如果我刪除它,我沒有在一個循環進入。我不知道這是否是由於新版本或者什麼原因導致的錯誤,但是您是否有任何想法可以解決這個問題? 我試着用一個全局變量而不是一個會話變量,但我沒有以這種方式訂閱。

回答

2

onBeforeAction是被動,所以如果你設置Meteor.call回調會話變量,然後onBeforeAction將再次運行

您可以使用onRun本次會議設置