Spec-Zone.ru › Dart 1

dart:async

Метод forEach

Future forEach<T>(Iterable<T> input, dynamic f(T element))

Выполняет операцию для каждого элемента итерируемого объекта, поочерёдно.

Операция, f, может быть как синхронной, так и асинхронной.

Вызывает f с каждым элементом в input в порядке. Если вызов f возвращает Future<T>, итерация ожидает завершения будущего перед переходом к следующему элементу.

Возвращает Future, который завершается со значением null, когда все элементы обработаны.

Значения, которые не являются Future, и значения завершения возвращаемых Future игнорируются.

Любая ошибка из f, синхронная или асинхронная, остановит итерацию и будет сообщена в возвращаемом Future.

Исходный код

static Future forEach<T>(Iterable<T> input, FutureOr f(T element)) {
  var iterator = input.iterator;
  return doWhile(() {
    if (!iterator.moveNext()) return false;
    var result = f(iterator.current);
    if (result is Future) return result.then(_kTrue);
    return true;
  });
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Future/forEach.html

Spec-Zone.ru

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