Spec-Zone.ru › Dart 2

dart:async

Метод listen

StreamSubscription<T> listen(
  1. void onData(
    1. T event
    )?,
  2. {Function? onError,
  3. void onDone( )?,
  4. bool? cancelOnError}
)

Добавляет подписку на этот поток.

Возвращает StreamSubscription, который обрабатывает события из этого потока с использованием предоставленных onData, onError и onDone обработчиков. Обработчики могут быть изменены на подписке, но первоначально они устанавливаются как предоставленные функции.

При каждом событии данных из этого потока вызывается обработчик onData подписчика. Если onData равно null, ничего не происходит.

При ошибках из этого потока вызывается обработчик onError с объектом ошибки и, возможно, стеком вызовов.

Обратный вызов onError должен быть типа void Function(Object error) или void Function(Object error, StackTrace). Тип функции определяет, вызывается ли onError с аргументом стека вызовов. Аргумент стека вызовов может быть StackTrace.empty, если этот поток получил ошибку без стека вызовов.

В противном случае он вызывается только с объектом ошибки. Если onError опущено, любые ошибки в этом потоке считаются необработанными и будут переданы обработчику ошибок текущей зоны Zone. По умолчанию необработанные асинхронные ошибки рассматриваются так же, как неперехваченные ошибки верхнего уровня.

Если этот поток закрывается и отправляет событие завершения, вызывается обработчик onDone. Если onDone равно null, ничего не происходит.

Если cancelOnError равно true, подписка автоматически отменяется при доставке первого события об ошибке. По умолчанию это false.

Пока подписка приостановлена или отменена, подписка не получает события, и ни одна из функций обработчиков событий не вызывается.

Реализация

StreamSubscription<T> listen(void onData(T event)?,
    {Function? onError, void onDone()?, bool? cancelOnError});

© 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/Stream/listen.html

Spec-Zone.ru

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