小编Oma*_*mad的帖子

snapshot.ConnectionState 一直在等待

在 a 中FutureBuildersnapshot.ConnectionState一直在等待,但 future 函数成功完成。当在不同的页面中时,相同的代码块起作用并且ConnectionState从等待到完成的转换。

未来功能:

Future getDoctors() async {
    var res = await http.get(globals.domain + "users/docs/");
    var resBody = json.decode(utf8.decode(res.bodyBytes));

    print(res.statusCode);

    if (res.statusCode == 200) {
      if (mounted) {
        setState(() {
          doctors = resBody;
        });
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

未来建设者:

FutureBuilder(
    future: getDoctors(),
    builder: (BuildContext context, snapshot) {
        print(snapshot);
    }
)
Run Code Online (Sandbox Code Playgroud)

实际结果: AsyncSnapshot<dynamic>(ConnectionState.waiting, null, null) 预期结果:过渡到 AsyncSnapshot<dynamic>(ConnectionState.done, null, null)

EDIT1:调试时注意到future函数getDoctors()会被定期调用,我想这就是快照总是在等待的原因

dart flutter

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

dart ×1

flutter ×1