代码段:
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 ]
你能告诉我我错了吗?如何在回调中访问结果对象?
答案 0 :(得分:4)
您需要将结果作为第二个参数传递给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);
});