首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Iterable.generate: Iterable<Future<String>>引发异常

Iterable.generate: Iterable<Future<String>>引发异常
EN

Stack Overflow用户
提问于 2018-12-15 23:46:27
回答 1查看 181关注 0票数 0

只是在玩Dart:你知道为什么这不起作用吗?我只想通过一个未来的迭代。

代码语言:javascript
复制
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");
}

它抛出以下异常:

代码语言:javascript
复制
Exception has occurred.
_TypeError (type '_GeneratorIterable<dynamic>' is not a subtype of type 'Iterable<Future<String>>')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-16 03:45:44

map method返回一个新的lazy Iterable,其中的元素是通过按迭代顺序调用Iterable的每个元素上的函数参数来创建的。而是返回原始的iterable

此外,您必须返回一个迭代器,而不是迭代器,所以不要应用iterator getter。

代码语言:javascript
复制
Iterable<Future<String>> getFutureIterataleData(int sec) {
  var iterable = new Iterable.generate(5);

  return iterable.map(
    (n) =>  Future<String>((){return "Hello";}));

  }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53794726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档