dart 异步函数示例,async、await、future 的使用

代码如下所示:

文件位置:C:\Users\myuser\IdeaProjects\mydart\bin\mydart.dart

import 'dart:io';

void main(List<String> arguments) {
  print('主函数开始:' + DateTime.now().millisecondsSinceEpoch.toString());  // 测试代码,时间计算

  // 获取 future 的异步操作结果对象
  Future future = getContent();
  /// 由 future 的 then 方法获取异步函数的内容,异步函数获取内容时,并不需要程序处于等待状态,程序可以处理其他任务,异步任务执行完成后,
  /// 只需接受数据即可。
  future.then((value) => print(value));
  print('主函数结束:' + DateTime.now().millisecondsSinceEpoch.toString());  // 测试代码,时间计算
}

/// 功能:异步函数读取文件内容
/// 描述:异步函数的关键字是:async、await,其中 async 修饰函数,await 修饰耗时的方法或者函数,函数返回的数据是延迟获取数据的 future 的对象。
///      异步函数提供了消息队列的事件处理机制,异步函数由 await 关键字把耗时的事件提交到系统的消息队列,然后由系统的事件处理机制独立执行,此时程
///      序可以执行其它任务,异步函数执行完成后,返回一个 future 的异步操作的结果。

Future<String> getContent() async {
  print('子函数开始:' + DateTime.now().millisecondsSinceEpoch.toString());  // 测试代码,时间计算
  var file = File(Directory.current.path + "\\bin\\sources.txt");
  var strings =  await file.readAsStringSync();
  print('子函数结束:' + DateTime.now().millisecondsSinceEpoch.toString());  // 测试代码,时间计算
  return strings;
}

读取的示例文件内容:

文件位置:C:\Users\myuser\IdeaProjects\mydart\bin\sources.txt

什么是 HTML5?
HTML5 是下一代 HTML 标准。
HTML , HTML 4.01的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。
HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
HTML5 是如何起步的?
HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。
WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。
HTML5 中的一些有趣的新特性:
用于绘画的 canvas 元素
用于媒介回放的 video 和 audio 元素
对本地离线存储的更好的支持
新的特殊内容元素,比如 article、footer、header、nav、section
新的表单控件,比如 calendar、date、time、email、url、search

程序执行示例图:

1.异步函数效果:

2.同步函数效果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰雪青松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值