Как обойти асинхронный вызов функции Firebase, чтобы он работал синхронно? - PullRequest
0 голосов
/ 31 мая 2019

Я хочу закончить вызов firebase, прежде чем делать что-то еще.Пример кода ниже.В приведенном ниже коде мне нужно получить final_output после того, как два цикла выполнены определенным образом, если они были выполнены синхронно, но проблема в этом случае заключается в том, что перед возвратом второго вызова firebase,два цикла завершаются с нежелательным final_output.Любая визуальная помощь вместо теоретических объяснений без какого-либо кода?Спасибо

Я пытался использовать обратные вызовы и обещания, но либо я использовал их неправильно, либо они не для этой ситуации.Я также прочитал несколько похожих постов, но они были либо без ответа, либо ответ был неудовлетворительным.

some_ref1.once('value', function(snapshot){
   // x is going to be a list 
   var x = snapshot.val();
   // looping through x
   for (var i = 0; i < x.length; i++){
       // do something and get another list y

       // loop through y
       for (var j=0; j<y.length; j++){
           // go to firebase again
           some_ref2 = firebase.database().ref("some_other_location");
           some_other_location.once('value', function(snapshot)){
               var final_output = snapshot.val();
               console.log(final_output);
           }
       }
   }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...