Проблема с exports.module и Firebase-admin

#javascript #firebase #google-cloud-functions #dialogflow-es #firebase-admin

#javascript #firebase #google-cloud-функции #диалоговые потоки #firebase-admin

Вопрос:

У меня проблема, мой код в индексе выглядит так:

 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» файла EnviarFeedback.js но это выдает ошибки в журнале, и ошибки:

Необработанный отказ

Выполнение функции заняло 537 мс, завершено со статусом: «сбой»

И вот SubmitFeedback.js файл:

 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")
    });
}
  

Комментарии:

1. вы проверили эту строку let banco = admin.database (). ref ('Data /'); ?, у вас есть пробел, это предназначено? Если вы можете поделиться более подробной информацией, текущая ошибка мало что говорит.

Ответ №1:

Ну, похоже, что в вашем импорте есть пробел между косой чертой и именем файла. Может быть, это просто так.

В любом случае, вы также должны использовать блок try / catch для обработки любого исключения в вашем коде и регистрировать в консоли firebase сообщение об ошибке.

Комментарии:

1. В нем не было места, пришло время скопировать его сюда, и я пошел редактировать, в итоге получилось с пробелом, даже если бы это была попытка и уловка, потому что я пробовал это несколько раз, и это выдавало ошибку или даже не работало