Estoy tratando de apoderarse de miles de archivos de Amazon S3 dentro de una Promesa, pero me parece que no puede averiguar cómo incluir la ContinuationToken dentro de si la lista se trunca y se reúnen todos juntos dentro de la promesa. Soy un novato con JS y podría utilizar un poco de ayuda. He aquí lo que tengo hasta ahora:
getFiles()
.then(filterFiles)
.then(mapUrls)
;
function getFiles(token) {
var params = {
Bucket: bucket,
MaxKeys: 5000,
ContinuationToken: token
};
var allKeys = [];
var p = new Promise(function(resolve, reject){
s3.listObjectsV2(params, function(err, data) {
if (err) {
return reject(err);
}
allKeys.push(data.Contents)
if (data.IsTruncated) {
s3.listObjectsV2({Bucket: bucket, MaxKeys: 5000, ContinuationToken: data.NextContinuationToken})
console.log('Getting more images...');
allKeys.push(data.Contents)
}
resolve(data.Contents);
});
});
return p;
}
Necesito la función de continuar la ejecución hasta que he creado una lista de todos los objetos en el cubo para volver.