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));
我正在编写异步函数来使用 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));