метод 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