Javascript 即使在使用 await 之后也难以使用 promise 值

Javascript difficulty consuming promise values even after using await

我正在编写异步函数来使用 AWS SDK 查询 DynamoDB table:

async function fetchData() {
  try {
    var params = { Key: { chart_name: "cambridge_rent" }, TableName: "charts" };
    const data = await docClient.get(params).promise();
    return data.Item.values;
  } catch (err) {
    console.log("Failure", err.message);
  }
}

const result = fetchData();

但是,我无法从包含 Promise 对象的 result 中提取值:

Promise { <state>: "pending" }
​
<state>: "fulfilled"
​
<value>: Array [ (95) […] ]

我正在尝试从中提取值:<value>: Array [ (95) […] ]。我该怎么做?我现在的做法不对吗?

const result = fetchData();改为const result = await fetchData();

你可以做到

async function fetchData() {
  try {
    var params = { Key: { chart_name: "cambridge_rent" }, TableName: "charts" };
    const data = await docClient.get(params).promise();
    return data.Item.values;
  } catch (err) {
    console.log("Failure", err.message);
  }
}

    fetchData().then((resp) => console.log(resp));