mongoosejs異步代碼。等待異步完成後返回
userSchema.static('alreadyExists',function(name){
var isPresent;
this.count({alias : name },function(err,count){
isPresent = !!count
});
console.log('Value of flag '+isPresent);
return isPresent;
});
我知道this.count異步函數調用回調之前,因此其價值是不確定的返回isPresent。但我如何等待回調改變isPresent的值,然後安全地返回?
(function(){ asynccalls() asynccall() })();
在異步流程中有什麼影響。 如果var foo = asynccall() or (function(){})()
會發生什麼情況上面兩個返回等待嗎?
可以process.nextTick()
有幫助嗎?
我知道有很多這樣的問題,但沒有任何關於異步完成
alreadyExists是一個函數,它檢查用戶給出的別名是否已經存在於db中,如果存在,他會得到一個備註來選擇另一個。 –
如果他們想要檢查db中的某些內容,然後根據結果繼續,可以做些什麼? –
感謝您的更新! 。這清除了很多東西,特別是它有多糟等待以及我對回調權力的無知 –