Я подключаюсь к устройству Bluetooth (ble), которое отправляет мне данные.Поскольку у меня может быть только ОДНО соединение, но мне нужен поток в нескольких местах (одновременно), я подумал, что вещательный поток будет хорошим решением для этого.
Проблема с широковещательной передачей состоит в том, что элементыне хранится(В общем, я думаю, что это не очень хороший подход, потому что не-широковещательный поток сохраняет все испускаемые элементы ..., просто кажется неправильным)
Чтобы получить требуемое поведение, я делаю это:
StreamGroup.merge([
Future.value(_latestItemEmitted).asStream(),
broadcast.stream
])
.where((item) => item != null) // to avoid emitting null in the initial state of the `_lastItemEmitted`
.distinct() // to avoid duplicates
Это работает, но имеет несколько недостатков.
- Мне всегда нужно хранить последний отправленный элемент.
- Кажется странным группировать поток дляэто дело.
Я не хочу использовать RxDart для этого.(Я уверен, что у одного из вас, ребята, есть простое решение для этого случая)
Я в основном ищу оболочку вещательного потока, чтобы добиться такого поведения.