AWS Lambda, использующий node.js, не выполняет функцию обещания - PullRequest
0 голосов
/ 08 декабря 2018

Я создал эту простую функцию с двумя вызовами 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');

    });
};

1 Ответ

0 голосов
/ 08 декабря 2018

Ваш handler является асинхронной функцией.Если вы не вернете обещание, обработчик будет выполнен, но он сразу же завершит работу, не дожидаясь завершения вашего обещания.

Измените его на return scanPromise.then(...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...