Spec-Zone.ru › Dart 2

dart:async

абстрактный метод pause

void pause(
  1. [Future<void>? resumeSignal]
)

Запрашивает приостановку событий потока до дальнейшего уведомления.

Во время приостановки подписка не генерирует события. Если она получает события из источника, они буферизуются до возобновления подписки. Для потоков, не поддерживающих широковещательную передачу, базовый источник обычно уведомляется о приостановке, чтобы прекратить генерировать события до возобновления подписки.

Чтобы избежать буферизации событий в широковещательном потоке, лучше отменить эту подписку и начать прослушивание заново, когда события понадобятся, если промежуточные события не имеют значения.

Если указан resumeSignal, подписка на поток отменит приостановку после завершения future, как если бы был вызван метод resume. Если future завершится с ошибкой, поток всё равно возобновится, но ошибка будет считаться необработанной и передастся в Zone.handleUncaughtError.

Вызов resume также отменит приостановку.

Если подписка приостановлена несколько раз, для возобновления потока необходимо выполнить такое же число вызовов resume. Вызовы resume и завершение resumeSignal взаимозаменяемы: приостановка pause, которой был передан resumeSignal, может завершиться вызовом resume, а завершение resumeSignal может отменить другую приостановку pause.

Безопасно вызывать resume или завершать resumeSignal, даже если подписка не приостановлена: возобновление не даст эффекта.

Реализация

void pause([Future<void>? resumeSignal]);

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-async/StreamSubscription/pause.html

Spec-Zone.ru

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