Spec-Zone.ru › Dart 2

dart:convert

метод bind

Stream<T> bind(
  1. Stream<S> stream
)
override

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

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

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

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

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

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

Реализация

Stream<T> bind(Stream<S> stream) {
  return Stream<T>.eventTransformed(
      stream, (EventSink sink) => _ConverterStreamEventSink(this, 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/Converter/bind.html

Spec-Zone.ru

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