代码段:
var async = require("async");
async.map([
"a",
"b",
"c"
], function(thing, callback) {
console.log(thing + "-something");
callback();
},
function(err, results){
if (err) return console.error(err);
console.log(results);
});
我当前的结果:
a-something
b-something
c-something
[ undefined, undefined, undefined ]
我想要的结果:
[ a-something, b-something, c-something ]
你们能告诉我我做错了什么吗?如何访问回调中的results对象?
最佳答案
您需要将结果作为第二个参数传递到callback()
中(如果有错误,第一个参数应为错误):
var async = require("async");
async.map([
"a",
"b",
"c"
], function(thing, callback) {
var returnValue = thing + "-something";
console.log(returnValue);
callback(null, returnValue);
},
function(err, results){
if (err) return console.error(err);
console.log(results);
});
关于javascript - NodeJS异步模块:如何在回调中获取结果对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20135831/