Навык Alexa не отвечает при подключении к MongoDB с помощью Mongoose - PullRequest
1 голос
/ 06 мая 2020

Alexa skill с использованием node.js, не возвращает значения при вызове mon goose .connect.

const Alexa = require('ask-sdk-core');
const mongoose = require('mongoose');

const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
    },
    handle(handlerInput) {
        const speakOutput = 'Welcome, to skill or ask for Help. Which would you like to try?';
        var options = {
            useNewUrlParser: true,
            useUnifiedTopology: true
        };

         const connectDb = async () => {
              await mongoose.connect('mongodb+srv:uri', options).then(
              () => {
                  console.log("connected to database");
                  return handlerInput.responseBuilder
                    .speak(speakOutput)
                    .reprompt(speakOutput)
                    .getResponse();
              },
              err => { console.log(err) })
          }
         connectDb().catch(error => console.error(error))
    }
};

exports.handler = Alexa.SkillBuilders.custom()
    .addRequestHandlers(
        LaunchRequestHandler,
    )
    .addErrorHandlers(
        ErrorHandler,
    )
    .lambda();

Консоль выглядит так, как показано ниже

    05:52:07
    2020-05-06T05:52:07.07 INFO connected to database

    05:53:12
    REPORT Duration: 67067.17 ms Billed Duration: 67000 ms Memory Size: 128 MB Max Memory Used: 100 
    MB Init Duration: 512.31 ms

    05:53:12
    2020-05-06T05:53:12.858 Task timed out after 67.07 seconds

Я попытался увеличить полосу тайм-аута, но это не проблема, которая может вызывать проблемы здесь, когда mon goose. connect () добавлен, скилл с этого момента ничего не возвращает. Моя цель здесь - установить sh соединение с атласом mon go Db и уведомить пользователя alexa об успешном соединении.

...