请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于Future的问题

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

正在回答 回答被采纳积分+3

1回答

CrazyCodeBoy 2019-04-21 13:21:05

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 回复 有任何疑惑可以回复我~
  • 提问者 Eric_Guoyh #1
    我的意思是 fetchPost方法的方法签名写的返回值是Future<Model>,但是该方法里面您写的是return Model.fromJson(result); 这里返回的为什么是Model对象啊,这不就和方法签名的返回值不一致了吗,好奇为什么还是能正常运行
    回复 有任何疑惑可以回复我~ 2019-04-23 04:16:46
  • CrazyCodeBoy 回复 提问者 Eric_Guoyh #2
    await将异步转同步了,所以获取到的是Future<Model>中的Model,这个属于Dart 中Future的基础语法,如果对这块还不是很熟悉的话,建议先熟悉下Dart 的Future的用法以及特点,磨刀不误砍柴工
    回复 有任何疑惑可以回复我~ 2019-04-23 21:26:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信