所以我在其中有一些嵌套层
`get data from database
-for each data get file from s3
-for each file get specific items
-for each item check condition and change value of item.
-for each item that changes - updatefile.
` 我担心的是,由于每次我检查子项/子项时我都会在s3上更新文件,因此我会覆盖其他更改。
我试图弄清楚如何等到所有项目都更改后再一次更新文件。
我该怎么做?让我知道是否有意义。这是代码。
`async.each(data,function(element,callback){ console.log(element.mediaId);
s3.getObject({Bucket: mediaBucketName, Key: element.mediaId + '/manifest'}, function(err,data){
if(err)
{
console.log(err);
}
else {
var manifest = JSON.parse(data.Body.toString('utf-8'));
async.each(Object.keys(manifest),function(element, callback){
async.each(manifest[element].videos,function(element2, callback2){
s3.headObject({Bucket: mediaBucketName, Key: 'dash/' + element2.name}, function(response){
if(err)
{
console.log("media still be processing");
}
else {
console.log("components are live");
//var components = this.request.params.Key.split('/');
}
});
callback2();
},function(){
console.log("finished processing single file");
});
callback();
},function(){
console.log("Finished iterating through folders");
});
}
});
callback();
},函数(){ console.log(“完成清单文件的循环”); });`