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中的某些内容,然后根据结果继续,可以做些什么? –
感谢您的更新! 。这清除了很多东西,特别是它有多糟等待以及我对回调权力的无知 –