问题描述
我正在尝试使每个图像与地址并排显示。它的工作原理是……重复显示相同的地址,而不是跟上循环的步伐。我知道这是因为getDownloadUrl()异步运行,但是我不确定如何修复它。
js代码:
jQuery(document).ready(function($) {
"use strict";
$(".loader").delay(1000).fadeOut("slow");
$("#overlayer").delay(1000).fadeOut("slow");
var database = firebase.database();
var storageRef = firebase.storage().ref();
var listingsRef = database.ref('HOUSES');
listingsRef.on('value',getListings,errorData);
function getListings(data){
var Listings = data.val();
var keys = Object.keys(Listings);
for (var i = 0; i < keys.length; i++){
var k = keys[i];
var ADDRESS = Listings[k].ADDRESS;
var AVAILABLE = Listings[k].AVAILABLE;
var DESCRIPTION = Listings[k].DESCRIPTION;
var ROOMMATES = Listings[k].ROOMMATES;
var OWNER = Listings[k].OWNER;
var PRICE = Listings[k].PRICE;
var imageKeys = Object.keys(Listings[k].PICTURES);
var PICURL = Listings[k].PICTURES[imageKeys[0]];
var imagesRef = storageRef.child("images/" + k + "/" + PICURL);
imagesRef.getDownloadURL().then(function(url) {
addToListingsArea(url,ADDRESS)
}).catch(function(error) { console.log(error); });
}
}
function addToListingsArea(url,address){
document.getElementById("listings-area").innerHTML += "<img src='" + url + "' width='200px' >";
document.getElementById("listings-area").innerHTML += address + "<br>";
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)