【发布时间】:2020-11-26 05:10:41
【问题描述】:
我正在构建一个 Alexa 技能,它从 DynamoDB 表中检索一些数据,然后需要在另一个函数中使用它或作为语音输出。我的想法是使用 async/await,但我不知道该怎么做。
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-west-2'});
var docClient = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});
var params = {
TableName: 'someTableName',
Key: {'UserID': '1'}
};
var getDataPromise = docClient.get(params).promise();
getDataPromise.then(
function(data) {
console.log(data.Item); // I need to return data.Item to somehow use in .speechoutput()
}
).catch(
function(err) {
console.log(err);
}
);
如果我创建一个async 函数,我不确定将await 放在哪里或如何将数据返回给.speechoutput()。我尝试将await 放在docClient 函数前面,但它似乎不起作用。
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-west-2'});
var docClient = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});
async function getData() {
var params = {
TableName: 'someTableName',
Key: {'UserID': '1'}
};
var getDataPromise = await docClient.get(params).promise();
getDataPromise.then(
function(data) {
console.log(data.Item); // I need to return data.Item to somehow use in .speechoutput()
}
).catch(
function(err) {
console.log(err);
}
);
}
getData();
【问题讨论】:
标签: javascript promise async-await amazon-dynamodb alexa