我使用Async来调用一个函数,在该函数中它异步调用db并获取一些值,然后将该值返回给async.series。但是,我怎样才能将该值作为外部函数的return
值?如何在内部函数异步执行某些操作时从外部函数的回调中返回值
有关更多信息,请参阅下面代码中的注释。
getUserObjFromDb = function(username, cb) {
var user = {};
async.series([
function(callback){
var userObj = callDb(username);
callback(null, userObj);
}
],
function(err, results){
user = results[0];
cb(user);
});
}
var theUser = getUserObjFromDb(username, function(user){
return user;
}); // theUser is undefined because the outer function getUserObjFromDb did not return anything even though its callback returned, it was only the callback of the async.series which returned.
我怎样才能得到内部传递到theUser
的的user
价值?
我可以做所有这些完全错误,可能会有一个更简单的方法,所以任何帮助,将不胜感激。 谢谢。
有没有返回声明我看到getUserObjFromDb – Vivek