передать данные из динамодана.скан на улицу - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь передать значение, которое я получаю в 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`);
        }

1 Ответ

0 голосов
/ 03 октября 2018

Вы уже опубликовали это на форуме DynamoDB ?: https://forums.aws.amazon.com/forum.jspa?forumID=131. Я также рекомендую опубликовать это там.

Кроме того, я только что искал на этом форуме строку "Dynamodb.scan" иВот все результаты: https://forums.aws.amazon.com/search.jspa?mbtc=06c784cf811d4e21aeabfd436e0558e611b4e9ab02ac3273ca75d232a2b55be6&objID=f131&q=dynamodb.scan&x=0&y=0. Если этот набор результатов подвергается манипулированию, просто зайдите на форум и найдите «Dynamodb.scan» в окне поиска там.

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