AWS Lambda使用node.js未执行承诺函数

AWS Lambda使用node.js未执行承诺函数,node.js,aws-lambda,Node.js,Aws Lambda,我用两个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

我用两个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');

    });
};

您的
处理程序是一个异步函数。如果您不返回承诺,处理程序将被执行,但它将立即退出,而不等待您的承诺完成


将其更改为
return scanPromise。然后(…)

您是否尝试从函数返回
scanPromise
。e、 g.
返回scanPromise。然后(…)
确定会导致承诺执行。虽然它在日志中导致dynamodb访问失败,但在我的代码中没有点击console.log行。如果您在答案中输入此项,我可以将其标记为已回答。我将其添加为答案…我有一个类似的问题,但这不适用于我。我完全按照你的建议写的,并在这里发布了一个问题:你能提供任何反馈吗?