[英]pass data from dynamodb.scan to outside
我正在尝试将在dynamodb.scan中获取的值传递到dynamodb.scan块之外,但我获取的是空列表,原因可能是因为其异步功能总会得到我想要的输出
function contactMethod(contact){
dynamodb.scan(params, function(err, data){
const teamMembers = [];
if(err){
console.log(err);
}else{
const items = data.Items.map((dataField) =>{
if(dataField.name.S === member){
return {name: "" +dataField.name.S, email: "" + dataField.email.S};
}
});
items.forEach(function(item){
if(item !== undefined){
teamMembers.push(item.name, item.email);
}
})
}
console.log(teamMembers); //I am getting the desired o/p over here
})
}
function dispatch(intentRequest, callback) {
const intentName = intentRequest.currentIntent.name;
if (intentName == 'SOMETHING'){
sessionAttributes = intentRequest.sessionAttributes;
slots = intentRequest.currentIntent.slots;
team = slots.team;
contact = slots.contact;
member = slots.teammember;
params = {
TableName: 'team'
};
if(contact === 'email' || contact === 'phone'){
contactMethod(contact);
}
console.log(teamMembers);//getting empty list over here
callback(close(sessionAttributes, 'Fulfilled',
{'contentType': 'PlainText', 'content': `Okay, Here are the details you requested ${teamMembers}`}));
}
throw new Error(`Intent with name ${intentName} not supported`);
}
您是否已将其发布在DynamoDB论坛上?: https ://forums.aws.amazon.com/forum.jspa?forumID = 131。 我建议也将其张贴在这里。
另外,我只是在该论坛中搜索了字符串“ dynamodb.scan”,以下是所有结果: https ://forums.aws.amazon.com/search.jspa?mbtc=06c784cf811d4e21aeabfd436e0558e611b4e9ab02ac3273ca75d232a2b55be6&objID=fy&&=dy 0 。 如果该结果集被忽略,只需进入论坛并在该搜索框中搜索“ dynamodb.scan”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.