Я хочу закончить вызов 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);
}
}
}
})