私は長い間この問題を解決しようとしてきましたが、それを稼働させることはできませんでした。ノードとファイアベースで約束を待つ方法
g_globalList.once("value").then(function(tickList){
var multiPaths = [];
tickList.forEach(function(ticker){
ticker.val().forEach(function(path){
multiPaths.push(path);
});
});
return multiPaths;
}).then(function(multiPaths){
var myObj = {};
multiPaths.forEach(function(path){
var ticker = path.substr(path.lastIndexOf("/")+1, 40);
console.log("adding " + ticker);
****this is another promise and make my "myObj" to print blank****
db.child("symbols/NSE/" +ticker).once('value').then(function(data){
if(data.exists()){
myObj[path] = data.val();
}
});
});
return myObj;
}).then(function(myObj){
console.log(myObj);
});
すべての約束が完了した後、私は最後に「console.log(myObj)」と呼ぶことができますか?
あなたが使用することができます[プロミス#すべて]( –