标签: await
59
异步支持

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Tour 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《Dart 开发语言概览》。 本文为 Dart 语言概览的一部分,完整章节请查阅 Dart 语言概览。 Dart 代码库中有大量返回 Future 或 Stream 对象的函数,这些函数都是异步的,它们会在耗时操作(比如I/O)执行完毕前直接返回而不会等待耗时操作执行完毕。 async 和 await 关键字用于实现异步编程,并且让你的代码看起来就像是同步的一样。 处理 Future 可以通过下面两种方式,获得 Future 执行完成的结果: 使用 as…

99
在 Dart 里使用 Stream

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Creating streams 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《在 Dart 里使用 Stream》。 dart:async 库中有两个对许多 Dart API 来说都非常重要的类型:Stream 和 Future。Future 用于表示单个运算的结果,而 Stream 则表示多个结果的序列。你可以监听 Stream 以获取其结果(包括数据和错误)或其关闭事件。也可以在 Stream 完成前对其暂停或停止监听。 但是本篇文章并非阐述如何使用 Stream,而是向你介绍如何创建 Stream。…

71
异步编程:使用 Stream

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Asynchronous programming: streams 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《异步编程:使用 Stream》。 本章的重点: Stream 提供一个异步的数据序列。 数据序列包括用户生成的事件和从文件读取的数据。 你可以使用 Stream API 中的 “listen()” 方法和 **await for** 关键字来处理一个 Stream。 当出现错误时,Stream 提供一种处理错误的方式。 Stream 有两种类型:Single-Subscription 和 Bro…

152
异步编程:使用 Future 和 async-await

本篇为 Dart 官方文档翻译项目 DartCN 的文章 Asynchronous programming: futures & async-await 翻译,在此仅作翻译记录,翻译首稿已提交至 DartCN,如需查阅,请链接至《异步编程:使用 Future 和 async-await》。 本章的重点: Dart 代码运行在单个执行“线程”中。 阻塞执行线程的代码会使你的程序“冻结”。 一个 Future 对象用于表示 _异步操作_ 的结果,这些正在处理的操作或 I/O 将会在稍后完成。 在异步函数中使用 await 关键字暂停代码的执行,直到对应的 future 完成。 可以使用 t…