Метод toSet
Собирает данные этого потока в Set.
Создает Set<T> и добавляет все элементы этого потока в множество. в порядке их поступления. Когда этот поток завершается, возвращаемое будущее завершается этим множеством.
Возвращаемое множество имеет тот же тип, что и создаваемое <T>{}. Если требуется множество другого типа, используйте forEach для добавления каждого элемента в множество или используйте toList().then((list) => new SomeOtherSet.from(list)) для создания множества.
Если этот поток генерирует ошибку, возвращаемое будущее завершается этой ошибкой, и обработка останавливается.
Реализация
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.18.5/dart-async/Stream/toSet.html