У меня есть 2 запроса Firestore, и я хочу объединить их в один поток, который можно отобразить с помощью StreamBuilder.
StreamGroup не для меня, потому что он выдает только значения последнего испущенного потока.StreamZip также не для меня, потому что он Zips значения потока, такие как title и post, но длина возвращаемого QueryResult может быть не равна другой, и оба потока остановятся, если самый короткий поток выйдет из индексов.
Вот некоторый фиктивный / псевдокод:
Stream query1 = Some FirestoreQuery;
Stream query2 = Some FirestoreQuery;
Stream mergedQuerys = merge([Query1, Query2])
mergedQuerys.listen((mergedQueryDocs) {
print(mergedQueryDocs)
})
query1.emit([1,2,3])
//Output should be => [1,2,3]
query2.emit([4,5,6])
//Output should be => [1,2,3,4,5,6]
query1.emit([])
//Output should be => [4,5,6]
Я просто хочу объединить их, и если один из двух базовых потоков выдает его, он должен передать оба значения в новый поток.