我使用 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);
}
}
);
我想访问 waterfall
的 success
回调中的 async.each
响应。
我尝试了几种不同的方式来执行 callback(err,data) => next(err,response)
和 ------ SUCCESS
是始终未定义。
我错过了什么?
最佳答案
显然我缺少的是使用async.map()
而不是async.each()
。正如人们所期望的那样,async.each()
并不返回值。使用async.map()
会给你一个返回响应,这样你就可以在链上传递值。
关于javascript - 在 async.js waterfall 方法的成功回调中获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36680716/