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

Метод complete

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

Класс Completer позволяет вручную управлять состоянием Future: создать его через свойство future, а затем в нужный момент завершить его методом complete. Это удобно, когда результат появляется асинхронно из внешнего источника, например из колбэка события или таймера. После вызова complete повторно завершить тот же Completer нельзя - это приведёт к ошибке.

Синтаксис

completer.complete(value)

Пример

Давайте создадим Completer, завершим его числом 1 и выведем полученный результат:

import 'dart:async'; void main() { Completer<int> completer = Completer<int>(); completer.complete(1); completer.future.then((res) { print(res); }); }

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

1

Пример

Давайте завершим Completer строкой и получим её через await:

import 'dart:async'; void main() { Completer<String> completer = Completer<String>(); completer.complete('abcde'); completer.future.then((res) { print(res); }); }

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

"abcde"

Пример

Давайте завершим Completer списком чисел и выведем его на экран:

import 'dart:async'; void main() { Completer<List<int>> completer = Completer<List<int>>(); completer.complete([1, 2, 3, 4, 5]); completer.future.then((res) { print(res); }); }

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

[1, 2, 3, 4, 5]

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

  • класс Completer,
    который управляет состоянием Future
  • метод completeError,
    который завершает Future ошибкой
  • свойство future,
    которое возвращает связанный Future
  • свойство isCompleted,
    которое проверяет завершённость Completer
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить