Числа 2, 3 и 4 - это входные данные для блока, которые вы отправляете через приемники.Блок прослушивает эти приемники и соответствующим образом обновляет запрос Firestore.Одного этого может быть достаточно для того, чтобы Firestore отправлял соответствующие снимки в выходной поток, который прослушивает виджет.
Если вы не можете сортировать или фильтровать то, что вы хотите напрямую, с помощью API Firestore, вы можете использовать stream.map
или нанесите StreamTransformer
на него.Преобразователь дает вам большую гибкость для прослушивания потока и изменения или игнорирования событий на лету, реализуя его метод bind
.
Таким образом, вы можете сделать что-то вроде:
Stream<Store> get stores => _firestoreStream
.transform(filter)
.transform(sort);
Посмотрите на эту страницу для потоков в дротике в целом и посмотрите на rxdart
для более сложных манипуляций с потоками.