Функции Firebase: становится неопределенным - PullRequest
0 голосов
/ 27 мая 2018

Итак, моя проблема в том, что я не могу получить ничего до console.log в своих функциях firebase.

В functions/index.js У меня есть:

const functions = require("firebase-functions");
const admin = require("firebase-admin");

try { 
  admin.initializeApp(functions.config().firebase);
} catch (e) {
  console.log("dbMessagesUpdate initializeApp failure");
}

exports.onMessagesUpdate = functions.database.ref("/messages/basic_message").onCreate((snap, context) => {
console.log("SNAP: ", snap.val());
});

В терминале:

firebase deploy --only functions
// The function shows up in my functions list. 
// also, it would be nice to just test functions locally, but when I run 
// `firebase serve --only functions` I get An unexpected error occurred...

Затем я добавляю новые данные в /messages/basic_message в моей базе данных Firebase Realtime.

Когда я проверяю журналы на панели инструментов моего веб-сайта, посвященного функциям Firebase, на ней отображается информационный тег (i), но больше ничего.

В терминале:

firebase functions:log

возвращает:

2018-05-27T19:14:54.159Z N onMessagesUpdate: undefined

Не уверен, что мне не хватает.Это связано с тем, что в Firebase не указана информация для выставления счетов?Почему undefined?

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

functions.database.ref("/messages/basic_message").onCreate() отвечает только для вновь созданного узла с именем /messages/basic_message.Если этот узел существовал до изменения, он не вызвал бы функцию.

Если вы хотите знать, изменился ли этот узел каким-либо образом после создания, используйте вместо него onUpdate().

Если вы хотите узнать, был ли дочерний элемент создан под /messages/basic_message, используйте вместо этого:

functions.database.ref("/messages/basic_message/{id}").onCreate(...)
0 голосов
/ 27 мая 2018

/messages/basic_messages, вероятно, уже существует.

Вместо этого проверьте наличие элементов, добавленных в него:

var ref = functions.database.ref("/messages/basic_messages");

ref.on("child_added", function(snapshot, prevChildKey) {
  var newMessage = snapshot.val();
  console.log("Author: " + newMessage.author);
  console.log("Previous Post ID: " + prevChildKey);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...