关于Future的问题

来源:9-2 基于Http实现网络操作

Eric_Guoyh

2019-04-19

老师想问下,fetchpost方法里返回的是CommonModel类,怎么方法名前面的返回值是Future,难道是dart可以自动把CommonModel转化为Future?

写回答

1回答

CrazyCodeBoy

2019-04-21

fetchpost 返回的是Future如果要获取CommonModel可以用async await:

Future<Null> _handleRefresh() async {
  try {
    HomeModel model = await HomeDao.fetch();
    setState(() {
      localNavList = model.localNavList;
      subNavList = model.subNavList;
      gridNavModel = model.gridNav;
      salesBoxModel = model.salesBox;
      bannerList = model.bannerList;
      _loading = false;
    });
  } catch (e) {
    print(e);
    setState(() {
      _loading = false;
    });
  }
  return null;
}


1
2
CrazyCodeBoy
回复
Eric_Guoyh
await将异步转同步了,所以获取到的是Future中的Model,这个属于Dart 中Future的基础语法,如果对这块还不是很熟悉的话,建议先熟悉下Dart 的Future的用法以及特点,磨刀不误砍柴工
2019-04-23
共2条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程