2.2 示例

Future main() async {

var res = await getData();

print(res);

}

/**获取数据 */

Future getData() async {

return await requestNet();

}

/**请求网络 */

Future requestNet() {

return Future.delayed(Duration(seconds: 2), () => “result”);

}

打印结果:

result

三 Future


3.1 说明

  • `Future·是一个抽象类,表示这个对象封装的数据是异步请求的结果

  • 任意一个async函数都会返回一个Future对象

3.2 Future工厂模式调用的方法

包含以下方法:
  • Future.delay:延迟执行

  • Future.sync:异步操作

  • Future.value:取值

  • Future.error:错误调用

  • Future.microtask:异步任务

示例

Future timeOut() async {

print(“超时了”);

return await “超时了。。。”;

}

String speak() {

return “Hello”;

}

Error onError() {

throw “出错了”;

}

Future main() async {

Future.delayed(Duration(seconds: 4), () => print(“延时了”))

.timeout(Duration(seconds: 1), onTimeout: timeOut);

var resSync = Future.sync(() => “sync”);

print(await resSync);

var resValue = Future.value(speak());

print(await resValue);

var resError = Future.error(“出错了”, StackTrace.current);

print(await resError);

var resMicro = Future.microtask(() => print(“microtask”));

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

最后文末放上一个福利:GitHub地址

PS:我GitHub中有大量高阶Android学习视频资料和面试资料包~

真查询,修正不足。谢谢。

[外链图片转存中…(img-CWIUEgqq-1710657118533)]

最后文末放上一个福利:GitHub地址

PS:我GitHub中有大量高阶Android学习视频资料和面试资料包~

欢迎大家一起交流讨论啊~

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐