Spec-Zone.ru › Dart 2

dart:convert

метод bind

Stream<String> bind(
  1. Stream<String> stream
)
override

Преобразует предоставленный stream.

Возвращает новый поток с событиями, вычисляемыми на основе событий предоставленного stream.

Интерфейс StreamTransformer полностью обобщён, поэтому он не может описывать действия своих подклассов. Каждый StreamTransformer должен чётко документировать способ преобразования потока (в описании класса или переменной, используемой для доступа к преобразователю), а также любые отличия от следующего типичного поведения:

  • При подписке на возвращённый поток он начинает прослушивать входной stream.
  • Подписки на возвращённый поток передают (за разумное время) вызов StreamSubscription.pause подписке на входной stream.
  • Аналогично, отмена подписки на возвращённый поток в конечном итоге (за разумное время) отменяет подписку на входной stream.

«Разумное время» зависит от преобразователя и потока. Некоторые преобразователи, например преобразователь «тайм-аут», могут выполнять эти операции с задержкой. Другие могут не задерживать их вовсе или задерживать лишь на одну микрозадачу.

Преобразователи могут обрабатывать ошибки любым способом. Реализация преобразователя может передавать ошибки дальше, преобразовывать их в другие события или полностью игнорировать, но если ошибки игнорируются, об этом следует явно сообщить в документации.

Реализация

Stream<String> bind(Stream<String> stream) {
  return Stream<String>.eventTransformed(
      stream, (EventSink<String> sink) => _LineSplitterEventSink(sink));
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-convert/LineSplitter/bind.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API