async.map(['file1','file2','file3'], fs.stat, function(err, results){
// results is now an array of stats for each file
});
根据文档,第二个参数是:
iterator(item, callback) - 应用于数组中每个项目的函数。
美好的。
迭代器被传递一个回调(err,transformed),一旦它完成一个错误(可以为空)和一个转换的项目,就必须调用它。
我认为这fs.stat
不符合这一点,我会说这不应该工作。
它应该是这样的:
async.map(['file1','file2','file3'],
function (file, complete) {
fs.stat(file, function (err, stat) {
complete(err, stat)
});
}, function(err, results){
// results is now an array of stats for each file
}
);