这是我在循环中将一些数据上传到aws s3的功能。
for (var i=0;i<crop_sizes.length;i++){
uploadToS3(crop_sizes[i]);
}
function uploadToS3(crops){
s3.upload(crops,function(err,success){
if(!err){
console.log('uploaded');
}
})
}
它的工作正常,但我想在所有上传后显示成功消息,那么我怎么能实现它async
libray。
答案 0 :(得分:1)
如果你想坚持使用这个库,可以使用async.each
。
each(crop_sizes, s3.upload.bind(s3), function(err) {
if(err) {
console.error(err)
} else {
console.log('success')
}
})
答案 1 :(得分:0)
var promises = [];
for (var i = 0; i < crop_sizes.length; i++) {
promises.push(uploadToS3(crop_sizes[i]));
}
function uploadToS3(crops) {
return new Promise((resolve, reject) => {
s3.upload(crops, function (err, success) {
if (err) {
return reject();
}
resolve();
})
});
}
Promise.all(promises).then(function () {
console.log('success');
}).catch(function (err) {
console.error(err);
});