问题描述
我遇到了问题,索引中的代码如下:
const functions = require ('firebase-functions');
const {WebhookClient} = require ('dialogflow-fulfillment');
const {Card,Suggestion} = require ('dialogflow-fulfillment');
process.env.DEBUG = 'dialogflow: debug';
exports.dialogflowFirebaseFulfillment = functions.https.onRequest ((request,response) => {
const agent = new WebhookClient ({request,response});
console.log ('Dialogflow Request headers:' + JSON.stringify (request.headers));
console.log ('Dialogflow Request body:' + JSON.stringify (request.body));
function SubmitFeedback (agent) {
var functioncaoFeedback = require ('./EnviarFeedback');
functionFeedback.SendFeedback (agent);
}
let intentMap = new Map ();
intentMap.set ('inputName',CheckName);
intentMap.set ('confirmFeedback',SendFeedback);
intentMap.set ('InputMessage',CheckMessage);
intentMap.set ('InputValues',CheckValue);
intentMap.set ('negacaoFeedback',CheckNegacao);
agent.handleRequest (intentMap);
});
我正在调用文件EnviarFeedback.js的函数“ EnviarFeedback”,但是它在日志中给出了错误,并且错误是:
未处理的拒绝
函数执行耗时537毫秒,状态为:“崩溃”
const admin = require ('firebase-admin');
admin.initializeApp ({
credential: admin.credential.applicationDefault (),databaseURL: 'https://pri-ambiente-de-teste.firebaseio.com/'
});
module.exports.SendFeedback = function (agent) {
var context = agent.context.get ('result');
var name = context.parameters.name;
var value = context.parameters.valor;
var message = context.parameters.mensagem;
console.log (name,value,message);
let banco = admin.database (). ref ('Data /');
console.log (JSON.stringify (bank));
return banco.push ({
Name: name,Value: value,Message: message
},function (error) {
if (error)
console.log ('Error has occured during saving process')
else
console.log ("Data hss been saved succesfully")
});
}
解决方法
好吧,导入中的斜杠和文件名之间似乎有一个空格。也许就是这样。
无论如何,您还应该使用try / catch块来处理代码中的任何异常,并将错误消息登录到Firebase控制台。