Javascript 自定义意图上的AWS lambda超时
我正在构建一个Amazon Alexa技能,它可以从Google的Firebase异步获取数据 当我在本地运行Lambda函数并从我的Alexa技能调用它时,所有的意图都按预期工作 但是,当我压缩文件(不是文件夹)并将其移动到AWS lambda时,即使已收到数据并按预期创建响应对象,函数也会超时 内置的意图也如预期的那样工作 我的代码是 我试图通过here和谷歌找到任何解决方案,但没有成功。可能是我搜索了错误的东西,或者这是一个特定的问题 将firebase与lambda一起使用时,似乎需要初始化然后删除实例,以便返回响应 这是我要做的一件密码窃贼Javascript 自定义意图上的AWS lambda超时,javascript,node.js,amazon-web-services,aws-lambda,alexa-skills-kit,Javascript,Node.js,Amazon Web Services,Aws Lambda,Alexa Skills Kit,我正在构建一个Amazon Alexa技能,它可以从Google的Firebase异步获取数据 当我在本地运行Lambda函数并从我的Alexa技能调用它时,所有的意图都按预期工作 但是,当我压缩文件(不是文件夹)并将其移动到AWS lambda时,即使已收到数据并按预期创建响应对象,函数也会超时 内置的意图也如预期的那样工作 我的代码是 我试图通过here和谷歌找到任何解决方案,但没有成功。可能是我搜索了错误的东西,或者这是一个特定的问题 将firebase与lambda一起使用时,似乎需要
const Alexa = require("ask-sdk");
const firebase = require("firebase");
var config = {
...
};
const GetOrderIntent = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
return (
request.type === "IntentRequest" &&
request.intent.name === "GetOrderIntent"
);
},
async handle(handlerInput) {
firebase.initializeApp(config);
try {
const store = await firebase
.database()
.ref(`teams/${team}`)
.once("value");
// ANY OTHER CODE HERE
} catch (error) {
// HANDLE ERROR
}
// CLOSE THE CONNECTION
await firebase.app("[DEFAULT]").delete();
return handlerInput.responseBuilder
.speak(speechOutput)
.withSimpleCard(SKILL_NAME, speechOutput)
.getResponse();
}
};
我不知道为什么我在任何地方都找不到关于此的文档,但这似乎解决了问题。您还可以执行以下操作:
const-app=firebase.initializeApp(config);/*…*/等待app.delete()代码>