我目前正在開發一個涉及更新HTML的項目,具體取決於Firebase是否在數據庫中找到資源。下面是代碼片段:如何使用Firebase對HTML執行異步更新
for(var i = 0; i<collection.length; i++){
//Get the player
var player = collection[i];
//Create a new table row
var row = document.createElement("TR");
row.id = player.Id;
//Add the player profile pic
var imgNode = document.createElement("TD");
var img = document.createElement("IMG");
var photo = "https://usatftw.files.wordpress.com/2014/10/nfl_logo_new2.jpg?w=1000&h=750";
playerbase.orderByKey().equalTo(player.Id).on('child_added', function(snap){
photo = snap.val();
});
img.setAttribute("src", photo);
img.setAttribute("width", "55px");
img.setAttribute("height", "55px");
imgNode.appendChild(img);
imgNode.className = "player-photo";
row.appendChild(imgNode);
... //Some more td is added below
的問題是,每一個單列使用最初分配給照片的默認圖像,因爲火力通話時間過長和火力結束前imgNode已經追加到該行。我不是最有經驗的JavaScript程序員,但你會如何解決這樣的問題,以便更新到行中檢索資源?我需要使用Promise還是異步/等待?
哇這個作品漂亮。在這種情況下,如果它與照片不同,你是否會關心解釋currentImage究竟是什麼? – JBurk94
這很複雜,所以我會用解釋來更新我的答案。 –