在1.8版本中,它是不是像枚举一样是一个实验性特性?如何在DART编辑器中使用它?有没有好的文章或示例应用程序可以让我开始做这件事?

当它还是一个实验功能时,推荐给wine 吧套餐的是什么?是否可以在wine 吧套餐中使用该功能?

推荐答案

Update 2

最新的夜间构建也支持async*

void main() {
  generate().listen((i) => print(i));
}

Stream<int> generate () async* {
  int i = 0;

  for(int i = 0; i < 100; i++) {
    yield ++i;
  }
}

Update

标记为sync*(返回Iterable)的方法中的yieldyield*1.9.0-edge.43534中已受支持

void main() {
  var x = concat([0, 1, 2, 3, 4], [5, 6, 7, 8, 9]);
  // x is an Iterable which iterates over the values 1 to 9
  print(x);
}

// A method marked `sync*` returns an `Iterable`
concat(Iterable left, Iterable right) sync* {
  yield* left;
  yield* right;
}
void main() {
  print(filter([0, 1, 2, 3, 4, 5], (x) => x.isEven));
}

filter(ss, p) sync* {
  for (var s in ss) {
    if (p(s)) yield s;
  }
}

尚不支持async*个生成器函数(返回流).

Original

基本支持已可用.
有关更多详细信息,请参见https://www.dartlang.org/articles/await-async/.

main() async {

  // await
  print(await foo());
  try {
    print(await fooThrows());
  } catch(e) {
    print(e);
  }

  // await for
  var stream = new Stream.fromIterable([1,2,3,4,5]); 
  await for (var e in stream) { 
    print(e); 
  }
}

foo() async => 42;

fooThrows() async => throw 'Anything';

Dart相关问答推荐

您如何在元素中设置自定义元素标签的样式?

如何在 Dart 中实现继承?

如何在 Flutter 上实现事件监听器或委托

Task 'app:processDebugResources'的Flutter执行失败

Flutter:Firebase身份验证无需登录即可创建用户

Flutter | Dart:URI的目标不存在

那么在 Flutter 中缓存最简单的方法是什么?

Dart 捕获 http 异常

如何在Flatter中打开设备GPS?

FInal和top-level lazy初始化

Firebase Crashlytics 崩溃未报告给 Flutter 中的 Firebase 控制台

如何解决Id does not exist错误?

在小部件构建期间,如何在Flutter中导航?

Flutter Drawer Widget - 更改 Scaffold.body 内容

dart2js代码比javascript快多少?

用于名称和数字省道的正则表达式

Dart:将map转换为查询字符串

从 Dart 应用访问 pubspec.yaml 属性

如何重新引发异常并保留堆栈跟踪?

Exception: Concurrent modification during iteration: Instance(length:17) of '_GrowableList';