2014-10-29 170 views
0

控制檯語句從不打印。我不知道爲什麼。我正在寫一個函數來列出所有字符(一個用戶有很多字符)。該功能尚未完整編寫。它只是返回用戶指定的電子郵件。Mongo /回調函數和節點問題 - 從不調用回調

由於某種原因,但它永遠不會返回。它輸出「This statement prints」但從來沒有「爲什麼不這樣打印」聲明!

UserSchema.methods.usersCharacters = function(email,cb){ 
    User.findOne({'local.email' : email }).exec(function(err, user){ 
    if (err) console.log("oops"); 
    console.log("This statement prints"); 
    return user; 
    }); 
}; 

UserSchema.methods.usersCharacters('[email protected]', function(err, okay){ 
    console.log("Why doesn't this ever print?"); 
}); 

回答

0

我需要調用回調!該死的!

0

你需要調用回調,看到這一點:

var a = function(input ,callback){ 
    if (input == "true"){ 
     callback(null ,"it's true"); 
    } else { 
     callback(true ,"it's false") 
    } 
}; 

a(true ,function(err ,res){ 
    console.log(err); 
    console.log(res); 
}); 

a(false ,function(err ,res){ 
    console.log(err); 
    console.log(res); 
}); 

我希望這可以幫助您瞭解如何編寫回調。