gpt4 book ai didi

firebase - 使用 rxDart 合并 Firestore 流

转载 作者:IT王子 更新时间:2023-10-29 07:08:00 25 4
gpt4 key购买 nike

我正在尝试使用 RxDart 将来自 Firestore 的两个流合并为一个流,但它只返回一个流的结果

Stream getData() {
Stream stream1 = Firestore.instance.collection('test').where('type', isEqualTo: 'type1').snapshots();
Stream stream2 = Firestore.instance.collection('test').where('type', isEqualTo: 'type2').snapshots();
return Observable.merge(([stream2, stream1]));
}

最佳答案

根据您的用例,您可能不需要 RxDart 来执行此操作。如果您只想将两个 Firestore 流合并到一个 Dart Stream,您可以使用 dart:async 包中的 StreamZip

import 'dart:async';     

Stream<List<QuerySnapshot>> getData() {
Stream stream1 = Firestore.instance.collection('test').where('type', isEqualTo: 'type1').snapshots();
Stream stream2 = Firestore.instance.collection('test').where('type', isEqualTo: 'type2').snapshots();
return StreamZip([stream1, stream2]).asBroadcastStream();
}

关于firebase - 使用 rxDart 合并 Firestore 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com