我有這樣的文件名列表對象的列表:同步檢索Firebase存儲網址?
Object 1
Files
file1:1234
file2:2345
Object 2
Files
file1:456
file2:656
我遍歷每個對象,其中的每一個對象,我遍歷每個文件和查詢火力存儲獲取每個文件的網址。以便將其作爲超鏈接顯示給數據表。
var tableData = [];
//Code to Loop over the objects
var myApp ={ fileurls:[]};
var i =0;
angular.forEach(filesContainer.filenames, function(value, key) {
storageRef.child('/myfiles/'+ value)
.getDownloadURL().then(function(url) {
myApp.fileurls[i] = url;
i++;
}
}).catch(function(error) {
console.log("Error");
});
});
tableData.push();
//Loop over object ends here
//invoke successcallbackfunction to display the tableData
successcallbackfunction(tableData);
與我上面的代碼的問題是,由於asycnhronous火力電話,myApp
陣列始終是空的。我如何才能確保tableData.push()
行僅在循環完成對象的文件時才能執行?
一件事,你需要通過改變VAR對myApp = {fileurls []}更新JavaScript代碼; var myApp = {fileurls:[]}; ? –
是粘貼錯誤代碼 – user2713255