Dart库中的大多数函数都返回了Future和Stream对象。这些函数都是异步的,它们在设置一个可能耗时的操作(比如I/O)之后返回,而无需等待操作完成。
实现异步的关键字是: async和await。
-
异步函数
使用async来声明一个异步函数,异步函数都会返回一个Future对象。
如果没有返回任何内容,可以声明为Future<void>。
异步函数在调用时,会立即返回,不会等程序体执行完毕。
Future<String> lookUpVersion() async => '1.0.0';
-
Futrue
如果你需要一个Future对象,需要满足下面两点:
1. 使用async和await;
2. 调用Future的API。
await必须在async声明的函数体中使用,使用方式: await <expression>
expression通常是一个Future对象,如果不是,会自动包装成一个Future对象
Future checkVersion() async {
var version = await lookUpVersion()