Spec-Zone.ru › Dart 1

dart:io

Метод listen

StreamSubscription<SecureSocket> listen(void onData(SecureSocket socket), { 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<SecureSocket> listen(void onData(SecureSocket socket),
    {Function onError, void onDone(), bool cancelOnError}) {
  return _socket.map((rawSocket) => new SecureSocket._(rawSocket)).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/SecureServerSocket/listen.html

Spec-Zone.ru

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