Сумма, возвращающая NaN из Firebase - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь создать сумму из значения базы данных и локального значения. Но моя сумма продолжает возвращаться NaN. Вы видите, что я делаю не так? Вот что я попробовал:

Моя локальная сумма значений, которая возвращает его общее значение, хорошее:

// here I  create the sum for the total amount
var total = 0;
function getData(){
    for (var i = 0; i < HoeveelheidArr.length; i++) { //my arrawy from user input which i extracted
       total += parseInt(HoeveelheidArr[i]);
    }
}

Мои другие функции, которые получают значение БД и создают сумму:

   //function update content from elemnt with value
    function gotData(data){
         var progressList = document.getElementById("progressList");
         var wemosRep = function(element, value){
         element.textContent = value;
    }

    //get value from db and auto pass update ony my page if change in value
    startWemosRep = firebase.database().ref('Reps/Value');
    startWemosRep.on('value', function(snapshot){
       wemosRep(progressList,snapshot.val());

       //my sum generating the error
       progressLeft =  (startWemosRep.val() - total); //this doesnt!

       console.log(progressLeft);
    });

Для переменной DB startWemosRep я также пытался опустить; .val (), parseInt (startWemosRep -total) и parseIn (startWemostRep) - всего. Ничего из этого не сработало

Все 3 возвращают NaN, что еще можно попробовать?

1 Ответ

0 голосов
/ 14 апреля 2020

Это, вероятно, потому, что в какой-то момент вы имеете дело с плохо отформатированной строкой или неопределенным значением.

Я подозреваю, что ваше startWemosRep.val () или всего не определено.

Вы можете проверить это?

, чтобы проверить это во время выполнения, вы можете использовать отладчик внутри chrome dev tools.

...