只是在玩Dart:你知道为什么这不起作用吗?我只想通过一个未来的迭代。
import 'dart:async';
Iterable<Future<String>> getFutureIterataleData(int sec) {
var iterable = new Iterable.generate(5);
iterable.map(
(n) => Future<String>((){return "Hello";})).iterator;
return iterable;
}
main() {
Stream<String> streamS = new Stream.fromFutures(getFutureIterataleData(5));
streamS.listen((data) {
print(data);
});
print("Done");
}它抛出以下异常:
Exception has occurred.
_TypeError (type '_GeneratorIterable<dynamic>' is not a subtype of type 'Iterable<Future<String>>')发布于 2018-12-16 03:45:44
map method返回一个新的lazy Iterable,其中的元素是通过按迭代顺序调用Iterable的每个元素上的函数参数来创建的。而是返回原始的iterable。
此外,您必须返回一个迭代器,而不是迭代器,所以不要应用iterator getter。
Iterable<Future<String>> getFutureIterataleData(int sec) {
var iterable = new Iterable.generate(5);
return iterable.map(
(n) => Future<String>((){return "Hello";}));
}https://stackoverflow.com/questions/53794726
复制相似问题