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()