Spec-Zone.ru › Dart 2

dart:io

Метод listen

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

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

Возвращает 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<RawSecureSocket> listen(void onData(RawSecureSocket s)?,
    {Function? onError, void onDone()?, bool? cancelOnError}) {
  return _controller.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/RawSecureServerSocket/listen.html

Spec-Zone.ru

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