Cómo descargar un archivo de Amazon S3 bucket en node.js sincrónicamente

Tengo que descargar varios archivos del cubo S3 usando node.js. Para eso tengo que escribir unfor loop & llama as3.getObject(param) Método para descargar. Después de descargar los archivos, tengo que fusionar sus contenidos.

He escrito así:

var fileContentList = new ArrayList();

for(i=0; i<fileNameList.length i++){
    s3.getObject({ Bucket: "my-bucket", Key: fileNameList.get(i) }, function (error, data) {
    if (error != null) {
      alert("Failed to retrieve an object: " + error);
    } else {
      alert("Loaded " + data.ContentLength + " bytes");
      fileContentList.add(data.Body.toString());
    }
  }
);
}

//Do merging with the fileContentList.

Pero comos3.getObject es una llamada asincrónica en la que se mueve el hilo actual y no se agrega nada alfileContentList mientras estoy haciendo la fusión

¿Cómo puedo resolver el problema? ¿Alguna idea?
¿Existe algún método sincrónico en aws-sdk para descargar el archivo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta