Spec-Zone.ru › Dart 2

dart:async

Метод bind

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

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

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

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

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

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

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

Реализация

Stream<T> bind(Stream<S> 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-async/StreamTransformer/bind.html

Spec-Zone.ru

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