gpt4 book ai didi

dart - Dart 1.8 中的异步/等待功能

转载 作者:行者123 更新时间:2023-12-04 02:07:28 25 4
gpt4 key购买 nike

它在 1.8 版本中是作为 enum 之类的实验性功能还是不是?我如何在 Dart 编辑器中使用它?是否有一篇不错的文章或示例应用程序可以让我开始使用它?

当它仍然是一个实验性功能时,推荐用于 pub 包的内容是什么?是否可以在 pub 包中使用该功能?

最佳答案

更新 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;
}
}

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

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*尚不支持生成器函数(返回流)。

原装

基本支持已经可用。
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 1.8 中的异步/等待功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27212220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com