如何正确地等到未来在飞镖中完成
How to properly wait until future is complete in dart
我用 Flutter 制作的应用程序有一个小错误,当用户登录时,它会从我的数据库中获取用户信息,但速度不够快,导致我的应用程序前端出现视觉错误。该应用程序的布局使用了用户信息(名称、位置和图像),并且加载速度不够快。我想知道是否有一种方法可以等待我的未来完成,一旦完成,它就可以毫无问题地将用户导航到前端。
您应该在 initState()
函数中从数据库中获取您的日期,然后您必须修改您的小部件构建器以使用 FutureBuilder
,这是一个示例:
Widget build(BuildContext context) {
return FutureBuilder(
future: getProfile(),
builder: (BuildContext context, AsyncSnapshot<SharedPreferences> snapshot) {
if(snapshot.connectionState == ConnectionState.done){
return new MaterialApp();
}
}
)
}
请注意,您可以将 AsyncSnapshot<SharedPreferences>
替换为您的 Future
函数类型 returns。
我用 Flutter 制作的应用程序有一个小错误,当用户登录时,它会从我的数据库中获取用户信息,但速度不够快,导致我的应用程序前端出现视觉错误。该应用程序的布局使用了用户信息(名称、位置和图像),并且加载速度不够快。我想知道是否有一种方法可以等待我的未来完成,一旦完成,它就可以毫无问题地将用户导航到前端。
您应该在 initState()
函数中从数据库中获取您的日期,然后您必须修改您的小部件构建器以使用 FutureBuilder
,这是一个示例:
Widget build(BuildContext context) {
return FutureBuilder(
future: getProfile(),
builder: (BuildContext context, AsyncSnapshot<SharedPreferences> snapshot) {
if(snapshot.connectionState == ConnectionState.done){
return new MaterialApp();
}
}
)
}
请注意,您可以将 AsyncSnapshot<SharedPreferences>
替换为您的 Future
函数类型 returns。