Javascript 使用AWS S3 SDK for node.js如何返回filebody而不是';承诺{待定}';
Javascript不是我的头号语言,但是对于应用程序,我尝试从S3存储桶中获取对象。最后,我希望这些图像包含在某种HTML文件中,因此我正在寻找一种方法来创建base64编码字符串 我的函数没有返回字符串,而是返回'Promise{pending}',尽管进行了多次尝试,我还是无法让它工作。这是我目前的职能:Javascript 使用AWS S3 SDK for node.js如何返回filebody而不是';承诺{待定}';,javascript,node.js,amazon-web-services,amazon-s3,Javascript,Node.js,Amazon Web Services,Amazon S3,Javascript不是我的头号语言,但是对于应用程序,我尝试从S3存储桶中获取对象。最后,我希望这些图像包含在某种HTML文件中,因此我正在寻找一种方法来创建base64编码字符串 我的函数没有返回字符串,而是返回'Promise{pending}',尽管进行了多次尝试,我还是无法让它工作。这是我目前的职能: async function getS3file() { try{ var image = await s3.getObject({ Bucket:
async function getS3file() {
try{
var image = await s3.getObject({
Bucket: 'Bucketname',
Key: 'ImageKey'
}).promise();
return image.Body.toString('base64');
} catch(e) {
throw new Error('Could not retrieve file from S3')
}
}
然后使用
let image = await getS3file();
谢谢这是否意味着我必须将最后一行放在另一个异步函数中?否则它会抛出一个SyntaxError('await仅在异步函数中有效')。是的,await仅在异步函数中可用。或者,在同步函数中,可以使用
getS3file()代码>
let image = await getS3file();