微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 CombineLatestStream 构造函数中的 QuerySnapshot 访问 .documents 属性?

如何解决如何从 CombineLatestStream 构造函数中的 QuerySnapshot 访问 .documents 属性?

我很想使用 Rx Dart 将多个流合并为一个流。对于 Combinelatest.combine2/3/4/5 方法,我可以做到这一点,能够访问 QuerySnapshot 的 .documents 属性。请参阅下面的代码

Stream<FlightData> dataStream(BuildContext context) async* {
    int numberOfDocs;
    yield* CombineLatestStream.combine2(
        janFlightsstream(context),febFlightsstream(context),(jan,feb) {
      if (jan.documents.length != 0) {
        numberOfDocs = jan.documents.length;
      } else
        numberOfDocs = 0;
      return FlightData(distance: numberOfDocs,emissions: 0);
    });
  }

但是,我有超过 9 个流,所以我需要使用 CombineLatestStream 构造函数。根据下面的代码,构建略有不同,我无法访问 .documents 属性或任何快照数据。相反,我返回了一个查询快照实例。

  Stream<FlightData> dataStreamCombined(BuildContext context) async* {
    int numberOfDocs;
    yield* CombineLatestStream(
        [janFlightsstream(context),febFlightsstream(context)],(
            [List<QuerySnapshot> jan,List<QuerySnapshot> feb]) {
      if (jan.length != 0) {
        numberOfDocs = jan.length;
      }
      return FlightData(distance: numberOfDocs,emissions: 12);
    });
  }

如何以这种方式使用 CombineLatestStream 方法访问快照的 .documents 或 .data 属性

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。