【发布时间】:2021-04-17 03:53:27
【问题描述】:
我正在练习 AWS-S3 存储桶并将数据从本地范围传递到全局范围。这是一个简单的 Javascript 概念。我有从 S3 存储桶获取的字符串值数组。当我控制台时,我可以看到我的数据。我正在尝试将这些数据传递给全局范围。我尝试了推送方法,传播运算符,但它不起作用。全局范围给了我空数组。我不明白我做错了什么。
我像这样从 S3 存储桶中获取数据
["182363", "j9292092", "20282"]
我想将我的数据传递给全局变量。
这是我的一段代码
const allSKU = []
await s3.getObject(params, function (err, data) {
if (err) console.log(err, err.stack);
// else console.log(data.Body.toString('utf-8')); // I can see the data
const allSku = data.Body.toString('utf-8')
//console.log(allSku);
allSKU.push(allSku)
});
console.log(allSKU); // give me empty arrays
【问题讨论】:
-
s3.getObject没有返回承诺,供我们使用 await。你可以试试const data = await s3.getObject(params).promise() -
谢谢@BaluVyamajala。我在质疑自己的 js 技能:D
标签: javascript arrays amazon-s3 push