метод listen абстрактного класса
StreamSubscription<T> listen(Добавляет подписку на этот поток.
Возвращает 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<T> listen(void onData(T event),
{Function onError, void onDone(), bool 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-async/Stream/listen.html