【问题标题】:Flutter Firebase Storage listAllFlutter Firebase 存储列表全部
【发布时间】:2021-04-26 14:30:03
【问题描述】:

我正在尝试使用 .listAll() 下载 Firebase 存储中的所有视频。在 forEach() 中,我在打印值时获取了 URL,但它没有将其添加到我的列表中。我是不是做错了什么?

      final List<String> videoUrls = [];

      final result = await FirebaseStorage.instance.ref().listAll();

      result.items.forEach((Reference ref){
        ref.getDownloadURL().then((value) {
          print(value);
          videoUrls.add(value);
        });
      });

【问题讨论】:

  • 而不是foreach 尝试使用传统的for..loopawait ref.getDownloadURL();我希望这能解决问题。

标签: firebase flutter firebase-storage


【解决方案1】:

试试这个代码。在这段代码sn-p中,获取下载URL任务是异步完成的。

  final List<String> videoUrls = [];

  final result = await FirebaseStorage.instance.ref().listAll();

  result.items.forEach((Reference ref) async {
    await ref.getDownloadURL().then((value) {
      String val = value.toString();
      print(val);
      videoUrls.add(val);
    });
  });

【讨论】:

  • 同时使用awaitthen 回调的原因是什么?
猜你喜欢
  • 2020-07-18
  • 2020-09-23
  • 2021-04-06
  • 2021-05-01
  • 2019-07-04
  • 2021-04-27
  • 2020-10-13
  • 2021-11-02
  • 2019-01-20
相关资源
最近更新 更多