因为抓档案名字用forEach去抓,没有固定的顺序每次抓都会变动,
因此这边就决定先抓名字之後再用名字去抓URL然後一起塞进MAP里储存,
然後依照MAP size去判断之前是否抓过,如果抓过就直接读取MAP里储存的内容,这样就会固定一个顺序了。
function load_data(){
var listRef = firebase.storage().ref(路径);
var itemName;
if(nameMap.size == 0){
listRef.listAll().then((res) => {
res.items.forEach((itemRef) => {
itemRef.getMetadata().then((metadata) => {
itemName = metadata.name;
geturl(itemName); //读URL
}).catch((error) => {
console.log(error);
});
});
}).catch((error) => {
console.log(error);
});
}
else{
nameMap.forEach((value, key) => {
//这边放入直接读取已有的map的code
})
}
}
function geturl(itemName){
var itemURL;
const listRef = firebase.storage().ref(路径);
if(nameMap.size == 0){
listRef.child(itemName).getDownloadURL().then((url) => {
itemURL = url;
nameMap.set(itemName,itemURL);
}).catch((error) => {
console.log(error);
});
}else{
console.log("url failed");
}
}
嗨~各位好久不见, 最近几乎都在写一些自己喜欢的专案, 不知不觉已经两周了呢 (欢乐的时光总是过得...
删除档案的部分,首先要先把栏位列印出来 资料表一样参考第23天的文章 https://ithelp....
接下来会介绍到一些套件包、常用网路功能等应用。在开始介绍这些之前,一定要先聊聊termainl。先前...
架构图 前言 表达式是程序进行算术运算中的表示方式,我们可以简单地把表达式拆解为表达式 = 运算子 ...
Abstract 无论何种时候,每种系统的开发元件势必都有先後启动顺序,如何有效管控每项元件的启动流...