Spec-Zone.ru › Dart 2

dart:async

метод transform<S>

Stream<S> transform<S>(
  1. StreamTransformer<T, S> streamTransformer
)

Применяет streamTransformer к этому потоку.

Возвращает преобразованный поток, то есть результат streamTransformer.bind(this). Этот метод позволяет просто записать вызов streamTransformer.bind в виде цепочки, например

stream.map(mapping).transform(transformation).toList()

это может быть удобнее, чем вызывать bind напрямую.

streamTransformer может возвращать любой поток. Будет ли возвращённый поток широковещательным и какие элементы он будет содержать, полностью зависит от преобразования.

Этот метод следует всегда использовать для преобразований, при которых весь поток рассматривается как одно значение, которое, возможно, было разделено на несколько частей для передачи, например файл, считываемый с диска или загружаемый по сети. В этом случае преобразование создаст новый поток, постепенно преобразующий значение потока (возможно, с помощью Converter.startChunkedConversion). Результирующий поток также может состоять из фрагментов результата, но они не обязательно должны соответствовать определённым событиям исходного потока.

Реализация

Stream<S> transform<S>(StreamTransformer<T, S> streamTransformer) {
  return streamTransformer.bind(this);
}

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

Spec-Zone.ru

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