【发布时间】:2018-12-08 10:05:01
【问题描述】:
我用两个 console.log 调用创建了这个简单的函数。日志中显示“创建承诺后”,而没有出现“扫描承诺执行”。我是 node.js 的新手。我的错在哪里?
exports.handler = async(event, context) => {
var AWS = require("aws-sdk");
AWS.config.update({
region: "us-east-1",
endpoint: "https://dynamodb.us-east-1.amazonaws.com"
});
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: "User",
KeyConditionExpression: null,
FilterExpression: 'CusomerId = :customerid',
};
var scanPromise=docClient.scan(params).promise();
console.log('\r\nAfter promise created');
scanPromise.then(function(err,data)
{
console.log('\r\nScan promise executed');
});
};
【问题讨论】:
-
您是否尝试过从函数返回
scanPromise。例如return scanPromise.then(.....) -
好的,这确实会导致承诺执行。尽管它会导致日志中的 dynamodb 访问失败,而不会在我的代码中点击 console.log 行。如果您在答案中输入此内容,我可以标记为已回答。
-
我将其添加为答案...
标签: node.js aws-lambda