dart - 有没有办法在 InitState 方法上加载异步数据?

我正在寻找一种在 InitState 方法上加载异步数据的方法,在构建方法运行之前我需要一些数据。我正在使用 GoogleAuth 代码,我需要执行构建方法直到 Stream 运行。

我的initState方法是:

 @override
  void initState () {
    super.initState();
    _googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account)     {
      setState(() {
        _currentUser = account;
      });
    });
    _googleSignIn.signInSilently();
  }

如有任何反馈,我将不胜感激。

最佳答案

您可以创建一个 async 方法并在您的 initState

中调用它
@override
void initState () {
  super.initState();
  WidgetsBinding.instance.addPostFrameCallback((_){
    _asyncMethod();
  });
        
}

_asyncMethod() async {
  _googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account)     {
    setState(() {
      _currentUser = account;
    });
  });
  _googleSignIn.signInSilently();
}

https://stackoverflow.com/questions/51901002/

相关文章:

mobile - 是否可以在 Linux 虚拟机上使用 Flutter 开发 iOS 应用程序?

android - 如何在单击推送通知时打开特定屏幕以进行 flutter

flutter - 如何检查滚动位置是在 ListView 的顶部还是底部?

flutter - 如何为 flutter 添加自定义颜色?

dart - 如何在 ListView 内 flutter 中创建一行可滚动的文本框或小部件?

dart - Flutter:是否有可能创建 App Widgets (Android) 和 Tod

dart - 从 Flutter 记录大字符串

dart - Flutter 图像预加载

dart - 如何在 Flutter 中调度后台任务?

Flutter - 如何更改 TextField 提示颜色?