如何将最终结果/回调返回给调用函数? 文档中的所有示例仅显示console.log()选项。
以下代码仅供参考。
function foo(input) {
async.parallel([
function(callback) {
callback(null, input.one);
},
function(callback) {
callback(null, input.two);
}
],
function(err, results) {
// What to do here? all examples include console.log()
// I want to return the result ([1, 2]) to the calling function!
});
}
var data = {"one": 1, "two": 2};
var bar = foo(data);
console.log(bar); // Will return [1, 2]
编辑:此问题已标记为重复。另一篇文章没有解释如何对有javascript和回调的边缘经验的人这样做。
答案 0 :(得分:2)
如果您的函数包含异步代码,那么它将成为异步函数。您需要包含一个回调:
function foo(input, cb) {
async.parallel([
function(callback) {
callback(null, input.one);
},
function(callback) {
callback(null, input.two);
}
],
function(err, results) {
return cb(results);
});
}
修改你的电话:
var data = {"one": 1, "two": 2};
foo(data, function(bar){
console.log(bar);
});