РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
528 of 723 menu

Метод cancel

Метод cancel класса StreamSubscription отменяет подписку на поток. После вызова этого метода подписчик перестаёт получать события из потока, а все связанные с подпиской ресурсы освобождаются. Метод возвращает объект Future, который завершается, когда отмена подписки полностью выполнена.

Синтаксис

subscription.cancel()

Пример

Давайте создадим поток и подпишемся на него, а затем отменим подписку после получения первого события:

import 'dart:async'; void main() { StreamController<int> controller = StreamController<int>(); StreamSubscription<int> subscription; subscription = controller.stream.listen((int value) { print(value); subscription.cancel(); }); controller.add(1); controller.add(2); controller.add(3); controller.close(); }

Результат выполнения кода:

1

Пример

Давайте отменим подписку и дождёмся завершения отмены через await:

import 'dart:async'; void main() async { StreamController<int> controller = StreamController<int>(); StreamSubscription<int> subscription; subscription = controller.stream.listen((int value) { print(value); }); controller.add(1); await subscription.cancel(); print('cancelled'); controller.close(); }

Результат выполнения кода:

1 "cancelled"

Смотрите также

  • класс StreamSubscription,
    который представляет подписку на поток
  • метод pause,
    который приостанавливает подписку
  • метод resume,
    который возобновляет подписку
  • метод listen,
    который создаёт подписку на поток
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить