Spec-Zone.ru › Dart 2

dart:async

метод toSet

Future<Set<T>> toSet()

Собирает данные этого потока в Set.

Создает Set<T> и добавляет в множество все элементы этого потока в порядке их поступления. Когда поток завершается, возвращенный future завершается с этим множеством.

Возвращаемое множество имеет тот же тип, что и множество, созданное с помощью <T>{}. Если требуется множество другого типа, используйте forEach, чтобы добавлять в множество каждый элемент, или используйте toList().then((list) => new SomeOtherSet.from(list)) для создания множества.

Если этот поток выдает ошибку, возвращенный future завершается с этой ошибкой, и обработка прекращается.

Реализация

Future<Set<T>> toSet() {
  Set<T> result = new Set<T>();
  _Future<Set<T>> future = new _Future<Set<T>>();
  this.listen(
      (T data) {
        result.add(data);
      },
      onError: future._completeError,
      onDone: () {
        future._complete(result);
      },
      cancelOnError: true);
  return future;
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-async/Stream/toSet.html

Spec-Zone.ru

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