如何解决dart中的async和async *有什么区别?
我是飞镖的初学者。我正在尝试深入理解异步任务,因此我面临异步和异步*之间的这种混淆。
如果可能,我需要一个具体示例,说明在dart中使用async *的情况。
解决方法
async
将函数标记为异步,以便您可以执行一些耗时的任务(在同一隔离上)
Future<int> foo() async {
await Future.delayed(Duration(seconds: 1));
return 0;
}
async*
是一个生成器,用于生成Stream
。
Stream<int> bar() async* {
for (var i = 0; i < 10; i++) {
await Future.delayed(Duration(seconds: 1));
yield i;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。