Веб-приложение Firebase - вызов функции gotData - PullRequest
0 голосов
/ 27 марта 2020

Я создаю веб-приложение с JS и firebase в качестве базы данных, но я изо всех сил пытаюсь вызвать функцию gotData, чтобы получить ее возвращаемое значение.

var dbRef = firebase.database().ref('testing');

function reading(){
      dbRef.on('value', gotData,errData) ;
      }

function gotData(data){

  var tests = data.val();
  var keys = Object.keys(tests);
  var length = keys.length;
  var k = keys[lengthe-1];
  console.log(k)
  console.log(data)
  return k;
}

function errData(err){
  alert('error')
}

Код работает, и я получаю documentID самого нового возвращенного документа, но мне не удается вызвать это значение.

Я пытался:

var fbid = gotData(data);

но я получаю данные не определены ошибка. Насколько я понимаю, данные просто используются для ссылки на данные Firebase, чтобы я мог выполнять над ними операции. Что мне нужно сделать, чтобы я мог вызвать функцию с ее данными?

1 Ответ

0 голосов
/ 27 марта 2020

Вы сами вызываете gotData() в нижней части кода в jsbin, не передавая параметр:

var id = gotData();

Как я нашел это:

  1. Поместите эту строку в качестве первых операторов внутри gotData():

    if (!data) debugger
    
  2. Запустите код в jsbin еще раз, что теперь запускает отладчик.

  3. Проверьте стек вызовов (в правой части отладчика Chrome), чтобы увидеть, откуда поступил вызов.

Вы хотите удалить это gotData() вызовите и поместите весь код, которому нужны данные , в функции gotData(). См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...