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

Метод doWhile

Метод doWhile выполняет асинхронную функцию, переданную первым параметром, и повторяет её вызов до тех пор, пока эта функция возвращает true. В первый параметр мы передаем функцию, возвращающую Future с булевым значением. Второй параметр является необязательным и задает действие, которое выполняется после каждой итерации. Метод возвращает Future, который завершается, когда функция вернет false.

Синтаксис

Future.doWhile(action)

Пример

Давайте выполним цикл, который увеличивает счетчик, пока он не достигнет 3:

void main() { int counter = 0; Future.doWhile(() async { counter++; print(counter); return counter < 3; }).then((_) { print('Done'); }); }

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

1 2 3 "Done"

Пример

Давайте используем метод doWhile для последовательного обхода списка:

void main() { List<String> items = ['a', 'b', 'c', 'd', 'e']; int index = 0; Future.doWhile(() async { if (index >= items.length) { return false; } print(items[index]); index++; return true; }); }

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

"a" "b" "c" "d" "e"

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

  • класс Future,
    который представляет асинхронный результат
  • метод forEach,
    который выполняет функцию для каждого элемента
  • метод then,
    который выполняет код после завершения Future
  • метод whenComplete,
    который выполняет код после завершения Future
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить