Spec-Zone.ru › Dart 1

dart:io

Метод listen

StreamSubscription<RawSecureSocket> listen(void onData(RawSecureSocket s), { Function onError, void onDone(), bool cancelOnError })

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

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

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

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

Обратный вызов onError должен быть типа void onError(error) или void onError(error, StackTrace stackTrace). Если onError принимает два аргумента, он вызывается с объектом ошибки и отслеживающей информацией (которая может быть null, если сам поток получил ошибку без отслеживающей информации). В противном случае он вызывается только с объектом ошибки. Если 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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/RawSecureServerSocket/listen.html

Spec-Zone.ru

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