以与文件相同的顺序加载图像

时间:2019-05-23 08:32:40

标签: jquery foreach each firebase-storage

我正在使用Firebase Storage。在存储桶中,我有几个图像文件和一个带有所有文件列表的listfile.txt。 我需要做的就是加载图像,并按照与listfile.txt中列出的文件相同的顺序将它们放入数组。

我遇到了问题,因为getDownloadURL()是异步的,并且图像以随机顺序加载到overlay数组中。

var files=[];
var mapRef=[];
var overlay=[];

var listMapsRef = storageRef.child(prefix+"/listfile.txt");
listMapsRef.getDownloadURL().then(function(url) {
    $.get(url, function(txt){
        files = txt.split("\n");
        for (var i = 0; i < files.length; i++) {
            mapRef.push(storageRef.child(files[i]));
            .....
            .....
        }
        count = mapRef.length;
        mapRef.forEach(function(oneMap) {
                oneMap.getDownloadURL().then(function(url){
                ovl=loadImage(url);
                overlay.push(ovl);
                if (!--count) {
                    startMyApp();
                    }
                });
            });

    }); //.get
});  //.then

1 个答案:

答案 0 :(得分:0)

做类似这样的伪代码

View