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

Метод forEach

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

Синтаксис

Future.forEach(collection, action)

Пример

Давайте выполним асинхронную операцию для каждого элемента списка и выведем результаты в консоль:

Future<void> processItem(int item) async { await Future.delayed(Duration(milliseconds: 100)); print('Processed: $item'); } void main() async { List<int> numbers = [1, 2, 3, 4, 5]; await Future.forEach(numbers, processItem); }

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

"Processed: 1" "Processed: 2" "Processed: 3" "Processed: 4" "Processed: 5"

Пример

Давайте используем анонимную функцию для обработки каждого элемента списка строк:

void main() async { List<String> letters = ['a', 'b', 'c', 'd', 'e']; await Future.forEach(letters, (String letter) async { await Future.delayed(Duration(milliseconds: 50)); print('Letter: $letter'); }); }

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

"Letter: a" "Letter: b" "Letter: c" "Letter: d" "Letter: e"

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

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