Future用了一段时间,异步和序列化还有网络这块真的是头大,现在算搞明白了点。
FutureBuilder 要想实现Dio网络请求完成后再加载,必须DIO要返回Response对象才行,不然FutureBuilder拿不到异常,失败了他也不知道,DIO就简单封装一下把URL地址和请求的参数封一下就可以了,返回必须是Response,不要画蛇添足加try catch之类的,有异常DIO在非调试模式下不会抛出来,加了反而起反作用,这个问题研究了三天才整明白,切记。
最后在无连接时的效果
上代码:
主要解决页面进入时要异步读完数据再渲染页面的问题
//初始化获取数据
@override
initState() {
print('初始化ReserveView');
reserveStatMenu = Common.reserveStatMenu;
reserveTypeMenu = Common.reserveTypeMenu;
reserveFloorMenu = Comm