Javascript:将数据从本地传递到全局
Javascript: passing data from local to global
我正在练习 AWS-S3 存储桶并将数据从本地范围传递到全球范围。这是一个简单的 Javascript 概念。我有从 S3 存储桶中获取的字符串值数组。当我控制台时,我可以看到我的数据。我正在尝试将此数据传递到全球范围。我尝试了 push 方法、传播运算符,但没有用。全局范围给我空数组。我不明白我做错了什么。
我像这样从 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
传递回调方法时,await 没有效果,因为方法不是return承诺
s3.getObject(params, function (err, data) => {})
我们可以 return 通过在大多数 AWS v2 SDK 方法上调用 .promise() 来实现承诺。
const data = await s3.getObject(params).promise()
我正在练习 AWS-S3 存储桶并将数据从本地范围传递到全球范围。这是一个简单的 Javascript 概念。我有从 S3 存储桶中获取的字符串值数组。当我控制台时,我可以看到我的数据。我正在尝试将此数据传递到全球范围。我尝试了 push 方法、传播运算符,但没有用。全局范围给我空数组。我不明白我做错了什么。
我像这样从 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
传递回调方法时,await 没有效果,因为方法不是return承诺
s3.getObject(params, function (err, data) => {})
我们可以 return 通过在大多数 AWS v2 SDK 方法上调用 .promise() 来实现承诺。
const data = await s3.getObject(params).promise()