
flutter 中的Future方法读取踩的小坑
发布日期:2021-05-14 17:32:05
浏览次数:18
分类:精选文章
本文共 1086 字,大约阅读时间需要 3 分钟。
Dart语言中的Future机制是Flutter开发中的核心概念之一,值得深入了解和实践。本文将从基础到实践,详细探讨Future及其在异步编程中的应用。
Future概述
Future类在Dart语言中用于声明和管理异步操作。它类似于JavaScript中的Promise,其核心特征是通过一个可 nullable 的结果来表示某个任务的完成状态。Future声明的函数本质上都是异步函数,能够在完成时定向地进行后续处理。
异步操作的实际应用
以下示例展示了Future在实际开发中的应用:
void testThen1() { Future f1 = new Future(() => null); Future f2 = new Future(() => null); Future f3 = new Future(() => null); f1.then((_) => print("f1 -> f1")); f2.then((_) { print("f2 -> f2"); f1.then((_) => print("f2.then -> f1")); }); f3.then((_) => print("f3 -> f3"));}
执行结果如下:
f1 -> f1f2 -> f2f2.then -> f1f3 -> f3
从上述示例可以看出,Future是通过将 callback 函数注册到它上面来实现异步操作链式调用。每个 thenерим выз始终是异步的,因此不会阻塞主线程。
获取Future返回值的正确方式
在Dart中,若需要获取Future操作的返回值,必须采用异步方法或标记为待处理的方式。以下是两种常用的实现方式:
Futuredemo() async { await return true;}// 异步方式读取Future demoRead() async => await demo();// 或者使用 then 方法接受结果demo.then((e) { print("e");});
这两种方式均可实现对 demo 函数返回值的获取,其中异步方法await
语法更为便捷,适用于简单操作。
总结
了解Future机制是掌握Dart语言的关键环节。通过如上的示例和解释,开发者可以清晰地看到Future在异步编程中的实际应用及其操作方式。继续深入学习Dart语法,将极大地提升Flutter开发效率。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年05月03日 00时02分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[Java Path Finder][JPF学习笔记][7]JPF输出详细程度设置
2019-03-11
GitHub完整记录数据库GHTorrent的下载和安装经验
2019-03-11
设计模式—— 三:依赖倒置原则
2019-03-11
SpringBoot打包之后乱码
2019-03-11
因SGA分配错误无法启动数据库
2019-03-11
Oracle修改字段类型方法总结
2019-03-11
ORA-00020 超过当前最大连接数
2019-03-11
合理控制oracle数据库具有DBA权限的用户
2019-03-11
喝红茶是否会上火
2019-03-11
Android进阶解密读书笔记2——第2章:Android系统启动——第1、2小节
2019-03-11
GreenDao之注解
2019-03-11
Android使用Font Awesome
2019-03-11
主线程中Looper的轮询死循环为何没有阻塞主线程?
2019-03-11
Gradle实战四:Jenkins持续集成
2019-03-11
使用RestTemplate,显示请求信息,响应信息
2019-03-11
wgcloud运维监控系统错误:防篡改校验错误次数大于10次,不再上报数据
2019-03-11
为什么WGCLOUD安装完后,启动服务端打不开网页
2019-03-11
iOS 开发官方文档链接收集
2019-03-11