如何使用React JS列出所有名称并从Firebase下载Urls?

佩里斯特拉节

我想使用React JS显示所有文件的列表及其从Firebase的下载URL。但是我不能这样做,因为有两个单独的函数来listing(listAll())获取URL(getDownloadUrl())。

storageRef.listAll().then( res => {

        const download = []

        res.items.forEach( down => {
         down.getDownloadURL().then( url => {

       //  res.items.forEach( item => {

          download.push(url); 
         // console.log(url)
        })
        this.setState({ download: download})
      })
})

storageRef.listAll().then( res => {

        const listItem= []

        res.items.forEach( item=> {


       //  res.items.forEach( item => {

          itemList.push(url); 

        })
        this.setState({ itemList: itemList})
      })
})
弗兰克·范普菲伦

如果我理解正确,则想将所有文件的下载URL添加到该状态。在这种情况下,您正在寻找Promise.all()类似这样的东西:

storageRef.listAll().then( res => {
    let promises = res.items.forEach( item => item.getDownloadURL() );

    Promise.all(promises).then((downloadURLs) => {
        this.setState({ download: downloadURLs });
    });
})

如果您还想在状态中存储项目列表,则可以在同一回调中执行此操作:

storageRef.listAll().then( res => {
    let promises = res.items.forEach( item => item.getDownloadURL() );

    Promise.all(promises).then((downloadURLs) => {
        this.setState({ download: downloadURLs, itemList: res.items });
    });
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 XSLT 列出 Firefox 中的所有名称空间

如何在Rails中列出特定类别的所有名称?

如何列出与每个活动相关的所有名称和年龄

如何列出在ipython会话中加载的所有名称?

如何从MySQL检索所有名称?

如何获取 office.js 中的所有名称(不是值)?

如何从dom文档中删除所有名称空间

如何获取sql表的所有名称?

如何获取嵌套对象中的所有名称?

如何更好地组织所有名称空间?

如何为所有名称空间更新Kubernetes机密

如何从文本块中提取所有名称

如何根据类别排列数据框,然后变异新的协变量,列出适合特定类别的所有名称

如何:使用React JS环境

如何下载阵列中列出的所有文件?

如何使用React JS过滤HTML表格的所有列?

如何使用Scene Kit在Swift中获取具有名称的所有子节点

如何使用反射和递归获取任何对象的所有名称和值

如何使用Kubernetes API获取特定Kubernetes集群中所有名称空间的列表?

如何使用React在表中列出元素?

Unix:如何列出所有包含程序名称的目录

如何列出所有变量名称及其当前值?

如何列出不存在的名称空间的所有对象?

如何按名称列出包含文件的所有提交

DXL 问题:如何列出模块中的所有属性名称

如何在html页面上使用所有文本区域的所有名称(或ID)创建数组?

如何使用React Native下载文件

React,如何使使用的组件名称动态化?

如何使用boto3列出所有AWS子网的名称