반응형
질문
나는 InitState 메소드에서 비동기 데이터를 로드하는 방법을 찾고 있습니다. build 메소드가 실행되기 전에 일부 데이터가 필요합니다. GoogleAuth 코드를 사용하고 있으며 Stream이 실행될 때까지 build 메소드를 실행해야합니다.
내 initState 메소드는 다음과 같습니다:
@override
void initState () {
super.initState();
_googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account) {
setState(() {
_currentUser = account;
});
});
_googleSignIn.signInSilently();
}
어떤 피드백이든 감사히 받겠습니다.
답변
당신은 initState
내에서 async
메소드를 생성하고 호출할 수 있습니다.
@override
void initState () {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_){
_asyncMethod();
});
}
_asyncMethod() async {
_googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account) {
setState(() {
_currentUser = account;
});
});
_googleSignIn.signInSilently();
}
반응형
댓글