1分钟
06 Flutter
Flutter 中支持 async
/await
,如下代码所示, async
/await
其实只是语法糖,最终会编译为 Flutter 中返回 Future
对象,之后通过 then
可以执行下一步。如果返回的还是 Future
便可以 then().then.()
的流式操作了 。
///模拟等待两秒,返回OK
request() async {
await Future.delayed(Duration(seconds: 1));
return "ok!";
}
///得到"ok!"后,将"ok!"修改为"ok from request"
doSomeThing() async {
String data = await request();
data = "ok from request";
return data;
}
///打印结果
renderSome() {
doSomeThing().then((value) {
print(value);
///输出ok from request
});
}
- Flutter 中
setState
很有 React Native 的既视感,Flutter 中也是通过 State 跨帧实现管理数据状态的,这个后面会详细讲到。 - Flutter 中一切皆 Widget 呈现,通过
build
方法返回 Widget,这也是和 React Native 中,通过render
函数返回需要渲染的 component 一样的模式。 - Stream 对应的 async* / yield 也可以用于异步,这个后面会说到。
学员评价