【发布时间】:2020-06-27 16:35:35
【问题描述】:
我有一个无法解决的问题。
在ngOnInit 事件中,我观察到了 url 参数。此参数对应于 firebase-storage 中的一个文件夹。这样,在加载时,我会在该文件夹中获得一个文件夹和/或文件的列表,这些文件夹和/或文件被告知并将其存储在 listReferences 变量中,该变量的类型为 Reference[]。
代码如下:
ngOnInit() {
this.route.params
.subscribe(params => {
this.getFiles(params.ref).subscribe(
(listReferences) => {
this.listReferences = listReferences;
}
);
}
);
}
getFiles(folder: string) {
return this.storage.ref('/' + folder).listAll()
.pipe(
map((data) => {
return data.items;
})
);
}
事实证明,对于listReferences 数组中的每个项目,我需要访问有希望的getDownloadUrl() 或getMetadata() 方法,但我无法检索数组中每个项目的值。在这种情况下我应该如何处理?如何最好地做到这一点?
基本上,我遵循参考指南中包含的信息。 https://firebase.google.com/docs/reference/js/firebase.storage.Reference
【问题讨论】:
-
也许你可以使用回调函数来解决这个问题。
-
具体怎么做?我试图在code snippet below 中的数组中制作一个地图......但它没有工作......
-
getMetadata 在您的代码中位于何处? listReference 是否由具有 getMetadata 方法作为其属性的实体组成?
标签: javascript angular firebase asynchronous firebase-storage