Soy nuevo en aprender javascript y Express.js y no sé cómo devolver correctamente el valor que quiero. Console.log (datos) funciona, pero la devolución de los datos se muestra indefinida.
Básicamente, quiero enviar los parámetros al llamar a la función y hacer que devuelva una lista de objetos en una carpeta S3.
Llamar a la función (S3)
//attach s3 const image_ref = await db.query("SELECT image_ref FROM projects WHERE created_by = $1 AND name = $2",[user_id,project_name]) const parameters = image_ref.rows[0].image_ref; console.log(S3(parameters));Función S3
function S3(parameters) { let bucket_parameters = JSON.parse(parameters); const myBucket = bucket_parameters.bucket_name; const prefix = bucket_parameters.folder; const access_key = bucket_parameters.access_key const secret_access_key = bucket_parameters.secret_access_key const region = bucket_parameters.region const s3 = new AWS.S3 ({ accessKeyId: access_key, signatureVersion: 'v4', region: region, secretAccessKey: secret_access_key }); var bucketParams = { Bucket : myBucket, Prefix: prefix }; s3.listObjects(bucketParams, function (err, data) { if(err)throw err; //console.log(data); return data; }); } module.exports = S3;