2013-10-08 19 views
0

努力創造並權威性匿名DO:流星 - 爲什麼創建2個用戶?

Meteor.startup(function() { 

    // Allocate a new user id. 
    if (!Meteor.userId()) { 
    var pass = Random.create().id(); 
    var email = pass+'@example.com'; 
    Accounts.createUser({password: pass, email: email}, function(err){ 
     Meteor.loginWithPassword({password: pass, email: email}); 
    }); 
    } else { 
    } 
}); 

這幾乎是行之有效的。但有時流星會同時創建兩個用戶。 :(

+0

添加'&&!M eteor.loggingIn()'什麼都不做。可能會在用戶表中創建兩個用戶 – Vasiliy

回答

0

這取決於你的意思是,「流星創建兩個用戶同時」 ......

如果你的意思,那麼它的,因爲「爲什麼當我訪問該網站不斷被創建用戶記錄」流星需要一些時間來登錄用戶,直到該過程完成,Meteor.userId()將爲空。請參閱http://docs.meteor.com/#meteor_loggingin

如果您發佈的代碼實際上是在第一次訪問它時創建2個用戶一個乾淨的數據庫),然後我很驚訝,一個完整的repro將幫助調試這種情況;也許你可以更新你的答案,並鏈接到github?