Метод bind
Преобразует предоставленный stream.
Возвращает новый поток с событиями, вычисляемыми из событий предоставленного stream.
Интерфейс StreamTransformer полностью обобщён, поэтому он не может сказать, что делают подклассы. Каждый StreamTransformer должен чётко документировать, как он преобразует поток (в классе или переменной, используемой для доступа к трансформеру), а также любые отличия от следующего типичного поведения:
- Когда к возвращаемому потоку подключается слушатель, он начинает прослушивание входного потока
stream. - Подписки возвращаемого потока передают (в разумные сроки) вызов StreamSubscription.pause подписке входного потока
stream. - Аналогично, отмена подписки на возвращаемый поток в конечном итоге (в разумные сроки) отменяет подписку на входной поток
stream.
"Разумное время" зависит от трансформера и потока. Некоторые трансформеры, такие как трансформер "таймаут", могут сделать эти операции зависимыми от продолжительности. Другие могут вообще не задерживать их или только на микротаск.
Трансформеры могут обрабатывать ошибки любым способом. Реализация трансформера может выбрать распространение ошибок, преобразование их в другие события или полное игнорирование, но если ошибки игнорируются, это должно быть явно документировано.
Реализация
Stream<String> bind(Stream<List<int>> stream) => super.bind(stream);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-convert/Utf8Decoder/bind.html