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 об успешном соединении.