在下面的函数中,我试图返回一个文件,但它在搜索文件时返回未定义,它返回未定义。我在哪里执行搜索并获取 S3 对象并准备对象数组以进一步发送电子邮件。
const send_email = async(data) => {
try {
const data_attachment = await get_S3_files(batch_key);
console.log(data_attachment)
} catch (error) {
console.log(error)
}
}
const get_S3_files = (data) => {
return new Promise((resolve, reject) => {
var params = {
Bucket: S3_bucket,
Delimiter: '',
Prefix: `${data}/`
}
var files = []
s3.listObjects(params, function (err, data) {
if (err) throw err;
if (data.Contents.length) {
for (const row of data.Contents) {
await s3.getObject({ Bucket: 'name', Key: row.Key }, function (err, data) {
if (err) {
console.log('S3 Get Object Error', err)
reject(err)
} else {
console.log(data)
files.push({
filename: data.Body,
content: data.Metadata.file_name,
})
}
})
}
}
});
resolve(files);
})
}
编辑-
删除等待
在功能部分保持返回
问题:它在函数执行之前返回空数组。
有人可以帮忙吗?我究竟做错了什么?
吃鸡游戏
萧十郎
12345678_0001
相关分类