Node.js 如何显示阵列中的对象列表

Node.js 如何显示阵列中的对象列表,node.js,Node.js,我是node.js的新手 我创建了一个返回对象数组的函数 当我试图在控制台中显示它时,它会显示消息Undefined 以下是函数: async function allBucketKeys(s3, bucket) { const params = { Bucket: bucket, }; var keys = []; for (;;) { var data = await s3.listObjects(params).promise();

我是
node.js的新手

我创建了一个返回对象数组的函数

当我试图在控制台中显示它时,它会显示消息
Undefined

以下是函数:

async function allBucketKeys(s3, bucket) {
    const params = {
      Bucket: bucket,
    };

    var keys = [];
    for (;;) {
      var data = await s3.listObjects(params).promise();

      data.Contents.forEach((elem) => {
        keys = keys.concat(elem.Key);
      });

      if (!data.IsTruncated) {
        break;
      }
      params.Marker = data.NextMarker;
    }
    console.log(keys);

    return keys;
  } 

  var s3 = new AWS.S3()

 array = allBucketKeys(s3, "mymplifyroject-20190123180140-deployment").keys;

 console.log(array);

您正在从异步函数返回一个承诺,因此您必须等待它或调用
。然后在它上调用
,然后才能访问该值

async function allBucketKeys(s3, bucket) {
  const params = {
    Bucket: bucket
  };

  var keys = [];
  for (;;) {
    var data = await s3.listObjects(params).promise();

    data.Contents.forEach(elem => {
      // You might want to use keys.push(elem.Key) here, but if elem.Key
      // is an array it would have a different behavior
      keys = keys.concat(elem.Key);
    });

    if (!data.IsTruncated) {
      break;
    }
    params.Marker = data.NextMarker;
  }
  console.log(keys);

  return keys;
}
var s3 = new AWS.S3();
allBucketKeys(s3, "mymplifyroject-20190123180140-deployment").then(keys => {
  console.log(keys);
});

是否有其他方法将其导出到“jsx”文件并显示其内容