登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
3
/ 3 页
下一页
返回列表
首页
›
资源区
›
代码
›
Flutter/Dart第21天:Dart异步编程(Future/Stream) ...
Flutter/Dart第21天:Dart异步编程(Future/Stream)
[ 复制链接 ]
能拘
2025-6-5 14:39:36
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
Dart官方文档:https://dart.dev/language/async
重要说明:
本博客基于Dart官网文档,但并不是简单的对官网进行翻译,在覆盖核心功能情况下,我会根据个人研发经验,加入自己的一些扩展问题和场景验证。
Future处理
我们有2种方式编写Future异步代码:
使用async和wait关键字
使用Future API(https://dart.dev/guides/libraries/library-tour#future)
推荐使用async和wait关键字,让异步代码看起来和同步代码一样。
如下代码样例:wait关键字等待异步函数返回结果,它必须在async函数中。
Future<void> checkVersion() async {
var version = await lookUpVersion();
var exitCode = await findExitCode();
// ......
await flushThenExit(exitCode);
}
复制代码
可以用try、catch和finally关键字处理错误和清理代码:
try {
version = await lookUpVersion();
} catch (e) {
// React to inability to look up the version
} finally {
// Clean code
}
复制代码
申明异步函数
使用async修饰一个函数体,这个函数就是异步函数,它的返回结果是一个Future,当函数无需返回结果时,返回结果为Future:
Future<String> lookUpVersion async {
// ......
return '1.0.1';
}
Future<void> doSomething() {
// ......
}
复制代码
Stream处理
同样的,我们也有2种方式编写Stream代码:
在异步循环使用async异步关键字(await for)
使用Stream API(https://dart.dev/guides/libraries/library-tour#stream)
推荐使用async关键字,异步循环的形式如下:
await for (varOrType identifier in expression) {
// ......
}
复制代码
在上诉异步循环形式中,expression的值为一个Stream类型,异步循环的执行过程如下:
等待Stream产出一个值(即触发循环执行)
设置
identifier
变量值,执行循环体逻辑
重复上面2步,直到Stream关闭(即循环结束)
我们可以通过break或者return语句,退出循环,从而中断监听Stream生产的值。
同样的,异步循环的函数,必须使用async关键字修饰。如下所示,main()函数体使用了await for异步循环,则函数必须使用async修饰:
void main() async {
// ......
await for (final request in requestServer) {
handleRequest(request);
}
// ......
}
复制代码
最后
第4课对异步编程文档(
Future和async/await
):https://ntopic.cn/p/2023092901
其他更多关于异步编程信息,请求参考异步包dart:async(https://dart.dev/guides/libraries/library-tour#dartasync---asynchronous-programming)
我的本博客原地址:https://ntopic.cn/p/2023111801
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Dart
Flutter
21天
异步
编程
相关帖子
吃透Linux/C++系统编程:文件与I/O操作从入门到避坑
吃透Linux/C++系统编程:文件与I/O操作从入门到避坑
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
2026 企业级 AI 编程实践手册Trae
不写代码,用扣子编程部署 OpenClaw + 飞书机器人
AI 编程工作流与协同范式
在 PHP 中写真正的异步代码 TrueAsync 0.6.0 已支持数据库链接池
如何用游戏化设计让 AI 编程变得更好玩
VSCode + Copilot 保姆级 AI 编程实战教程,免费用 Claude,夯爆了!
当AI学会编程,我们还能做什么
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
吃透Linux/C++系统编程:文件与I/O操作从入门到避坑
1
29
坠矜
2026-03-09
业界
吃透Linux/C++系统编程:文件与I/O操作从入门到避坑
0
988
高清宁
2026-03-09
业界
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
1
689
甘子萱
2026-03-09
科技
2026 企业级 AI 编程实践手册Trae
0
494
郗新语
2026-03-12
安全
不写代码,用扣子编程部署 OpenClaw + 飞书机器人
0
18
禄磊
2026-03-13
业界
AI 编程工作流与协同范式
0
16
费卿月
2026-03-14
业界
在 PHP 中写真正的异步代码 TrueAsync 0.6.0 已支持数据库链接池
0
18
步雪卉
2026-03-14
业界
如何用游戏化设计让 AI 编程变得更好玩
0
396
拴茅劾
2026-03-16
业界
VSCode + Copilot 保姆级 AI 编程实战教程,免费用 Claude,夯爆了!
0
84
哎禹供
2026-03-16
科技
当AI学会编程,我们还能做什么
0
489
黎瑞芝
2026-03-20
回复
(49)
咪四
2025-11-1 02:54:41
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
过来提前占个楼
貊淀
2025-11-1 15:58:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
荦绅诵
2025-11-5 20:14:07
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
忙贬
2025-11-8 01:39:20
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
尤晓兰
2025-11-13 04:15:51
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
恙髡
2025-11-26 18:35:20
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
阎怀慕
2025-12-6 22:37:26
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
寇秀娟
2025-12-30 14:07:55
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享
瞪皱炕
2026-1-8 22:21:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
吁寂
2026-1-13 21:39:11
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
篁瞑普
2026-1-14 02:11:50
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
计海龄
2026-1-15 02:02:13
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
申屠梓彤
2026-1-15 03:00:19
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
晦险忿
2026-1-16 05:02:13
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
过来提前占个楼
寇秀娟
2026-1-17 03:50:24
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
艺轫
2026-1-18 12:40:58
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
溶绚
2026-1-22 13:51:14
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
度阡舅
2026-1-23 07:01:27
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
圣罩
2026-1-24 01:32:09
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
下一页 »
1
2
3
/ 3 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
能拘
2026-1-24 01:32:09
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9522
6
韶又彤
9912
7
宋子
9878
8
荪俗
9016
9
闰咄阅
9995
10
刎唇
9995
查看更多
今日好文热榜
279
TCSSOFTDEPTCOPY.zip Can download source
794
Vue3 + Iframe 实战:打造企业级流程配置中
817
“你用AI,那我也会用AI,我还要你干什么?
617
自感痕迹论:先验意义场域与经验痕迹内外
2
一道KMP统考真题彻底讲透:nextval与滑动距
2
一道KMP统考真题彻底讲透:nextval与滑动距
737
从 Clubhouse 的崛起与陨落,看语聊房 RTC
237
老马失前蹄,竟然在数据库外键上翻车了,重
2
老马失前蹄,竟然在数据库外键上翻车了,重
2
老马失前蹄,竟然在数据库外键上翻车了,重
2
老马失前蹄,竟然在数据库外键上翻车了,重
2
老马失前蹄,竟然在数据库外键上翻车了,重
1
老马失前蹄,竟然在数据库外键上翻车了,重
188
读2025世界前沿技术发展报告19卫星技术
422
使用Microsoft Agent Framework构建C# AI代
464
岐金兰的回答:为什么全球思想界没有及时提
3
岐金兰的回答:为什么全球思想界没有及时提
3
岐金兰的回答:为什么全球思想界没有及时提
4
岐金兰的回答:为什么全球思想界没有及时提
4
岐金兰的回答:为什么全球思想界没有及时提