无法使用js循环下载firebase存储文件



我正在尝试使用如下代码所示的javascript循环来获取firebase存储的一些文件的下载url。它正确地创建了元素,但只为第二个元素分配了一个"src"(在处理2个文件的情况下(。

var photosContainer = document.getElementById('photosContainer');
var photoNumber = firebase.database().ref('main/' + keyParent).child(key + '/number_photos');
photoNumber.on('value', function(snapshot){
for(var i = 0; i < snapshot.val(); i++){
var divPhoto = document.createElement('div');
photosContainer.appendChild(divPhoto);
var photo = document.createElement('img');
photo.style.width = '100%';
divPhoto.appendChild(photo);
var photosStorage = firebase.storage().ref('main/');
photosStorage.child(i + key).getDownloadURL().then(function(url) {
photo.src = url;
}).catch(function(error) {
// Handle any errors
console.log('An error occurred.')
});
}
})

当getDownloadURL((从Firebase获取其文件路径时,"photo.src=url;"是第二个元素Object。

它的工作原理是创建一个数组,将url添加到数组中,然后擦除以前的元素并在数组中创建新的元素。forEach((.

最新更新