0
我为我的项目使用了异步模块。这是我在文件1如何在nodeJs中返回异步功能的结果(异步模块)
exports.check = function(option){
var object = {};
async.parallel([
function(callback){
if(!option.one){callback(null, true);}else{ callback(null, false);}
},
function(callback){
if(!option.two){callback(null, true);}else{ callback(null, false);}
},
function(callback){
if(!option.three){callback(null, true);}else{ callback(null, false);}
}
],
function(err, results){
if(results[0] && results[1] && results[2]){
object.one = results[0];
object.two = results[1];
object.three = results[2];
object.total = true;
}else{
object.one = results[0];
object.two = results[1];
object.three = results[2];
object.total = false;
}
})
return object;
}
代码,这是在文件2的代码,我在文件1使用功能:
var isexit = db.check(option);
console.log(isexit);
的一个问题是控制台“未定义”。 如果我在文件中更改代码1是线(返回对象):
exports.check = function(option){
var object = {};
async.parallel([
function(callback){
if(!option.one){callback(null, true);}else{ callback(null, false);}
},
function(callback){
if(!option.two){callback(null, true);}else{ callback(null, false);}
},
function(callback){
if(!option.three){callback(null, true);}else{ callback(null, false);}
}
],
function(err, results){
if(results[0] && results[1] && results[2]){
object.one = results[0];
object.two = results[1];
object.three = results[2];
object.total = true;
}else{
object.one = results[0];
object.two = results[1];
object.three = results[2];
object.total = false;
}
return object;
})
}
就会报错。那么如何在文件1中返回一个函数结果。请帮助。非常感谢!
谢谢你的帮助!因为我想检查以调用另一个函数。我有很多功能。所以当我想检查不同的功能时,我必须调用检查功能。 所以你能否建议我解决这个问题?使用返回。当我不使用异步。谢谢! – Hudo 2015-04-01 09:52:28