我使用async.js
waterfall
方法有以下功能:
async.waterfall([
funcOne,
funcTwo,
function upload(items, next) {
async.each(items,
function(item, callback) {
s3.putObject({
Bucket: srcBucket,
Key: item.key,
Body: item.data,
ContentType: item.contentType,
Metadata: {
type: 'thumbnail'
}
}, function(err,data){
callback(err,data);
});
},
function(err,response) {
next(err,response);
});
}],
function(err,response) {
if (err) {
console.error(err);
}
else {
console.log('------ SUCCESS',response);
}
}
);
我想访问async.each
的{{1}}回调中的success
回复。
我尝试了几种不同的做法waterfall
和callback(err,data) => next(err,response)
总是未定义。
我错过了什么?
答案 0 :(得分:1)
显然我缺少的是使用async.map()
代替async.each()
。正如人们所料,async.each()
不会返回值。使用async.map()
将为您提供返回响应,以便您可以向下传递值。