Spec-Zone.ru › Dart 2

dart:io

Метод listen

StreamSubscription<Список<int>> listen(
  1. void onData(
    1. Список<int> event
    )?,
  2. {Функция? 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<List<int>> listen(void onData(List<int> event)?,
    {Function? onError, void onDone()?, bool? cancelOnError}) {
  return _stream.listen(onData,
      onError: onError, onDone: onDone, cancelOnError: 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-io/Stdin/listen.html

Spec-Zone.ru

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