0
У меня есть следующие функции:Как ждать выполнения функции в Node.js?
isUserUsed: function(username) {
var result = true;
User.getUserByUsername(username, function(err, user){
if(err) throw err;
if(user){
result = false;
}
});
return result;
},
Вызванная функция User.getUserByUsername()
предполагается изменить значение для result
. Однако основная функция isUserUsed
возвращается до User.getUserByUsername()
отделки. Как я могу управлять потоком кода, чтобы дождаться окончания User.getUserByUsername()
, прежде чем продолжить?
Спасибо!
Promises. Checkout Bluebird (http://bluebirdjs.com/docs/getting-started.html) – Wainage
'if (err) throw err;' внутри асинхронного обратного вызова является одним из худших шаблонов проектирования в node.js. Не делай этого - никогда. – jfriend00