InitState メソッドで非同期データをロードする方法を探しています。ビルド メソッドが実行される前にデータが必要です。GoogleAuth コードを使用しており、Stream が実行されるまでビルド メソッドを実行する必要があります。
私の initState メソッドは次のとおりです:
@override
void initState () {
super.initState();
_googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account) {
setState(() {
_currentUser = account;
});
});
_googleSignIn.signInSilently();
}
フィードバックをいただければ幸いです。
ベストアンサー1
メソッドを作成しasync
、それをinitState
@override
void initState () {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_){
_asyncMethod();
});
}
_asyncMethod() async {
_googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account) {
setState(() {
_currentUser = account;
});
});
_googleSignIn.signInSilently();
}