스플래시 스크린에서 init state 와 build 순서
616
작성한 질문수 19
강의를 보다가 궁금한 점이 있어 질문 남깁니다.
init state 메소드가 build 메소드 보다 먼저 실행된다고 알고 있습니다.
await 키워드를 사용하면, 비동기 함수가 완료될 때까지 기다리는 것으로 알고 있습니다.
제가 최종적으로 질문하고 싶은 부분은,
await 키워드가 있으니, init state 가 순차적으로 실행될 때까지 기다릴 것이다. 결국 build 함수가 실행되기 전에 라우팅이 일어나기 때문에, splash screen 은 화면에 보여지지 않는 것이 아닌가요?
답변 1
0
안녕하세요.
"initState() 함수 내부에 await 키워드를 사용하는 함수를 실행하면 build() 함수가 실행되기전에 initState의 모든 비동기 함수들이 실행될것이다"가 생각하시는 가정 맞을까요?
결론만 말씀드리면 initState 함수는 비동기로 실행이 안됩니다. 이부분은 제가 초급에서 언급했는지 중급에서 언급했는지는 잘 기억이 나지 않네요.
간단히 테스트해보는 방법은 initState 함수에 5초간 기다리는 딜레이함수에 콜백을 실행해서 프린트를 해보고 build 함수가 실행될때 프린트를 해보면 프린트되는 순서를보고 가정이 맞는지 확인해보실 수 있습니다!
0
initState 내부의 함수가 동기로 실행된다는 것이면,
build 함수가 실행되기 전에 initState (initState 안의 비동기 함수)가 완료 될 것이고,
build 함수가 호출안되는거 아닌가요..?
자동 패키지 임포트 관련 질문 드립니다.
0
652
1
초급 중급 마무리한 학생입니다.. 파베관련 질문 하나만 받아주실 수 있을까요
0
440
1
Pagination 질문드립니다
0
473
1
레이아웃에 대해서 궁금한 질문!
0
499
1
강의에 적용된 디자인 패턴이 뭔가요??
1
676
1
네스팅 방식으로 goRouter Go를 사용할때, 앱바타이틀이 정상적으로 표시되지 않는 문제
0
564
2
GoRouter return이 안됩니다.
0
598
1
UserModel 에서는 IModelWithId를 implements하지 않는 이유가 있나요?
-1
540
1
서버쪽 /user/me api에서 에러가 나서 확인해보니..
0
410
1
[에러] GoRouter 적용, 401 에러가 뜹니다
0
365
1
ref.read.update // state + 1
0
449
1
typedef itemBuilder 제네릭 관련 질문이 있습니다.
0
453
1
[상태관리] Riverpod을 쓰신 이유가 있으신가요?
0
669
1
Dio 질문드립니다.!
0
780
2
CursorPagination 캐스팅 관련 문의
0
410
1
CursorPagination 캐시팅 관련 문의
0
399
2
AuthRepository 클래스 token() 함수는 Dead Code 아닌가요?
0
362
1
Rating을 GET 요청할때 DioError가 발생합니다.
-1
609
1
Token 관련 질문 드립니다.
0
452
2
수업의 내용은 아니지만 궁금해서 여쭤봅니다.
0
575
1
refresh 토큰 재발급 요청에 대해서
0
1688
1
_App 클래스가 ConsumerWidget을 상속 받으면 에러가 생깁니다
0
2553
4
이번 플러터와 다트 업데이트에서
1
268
1
Dio로 api 요청 듣고 있는데 에러가 발생합니다 ㅜㅜ
0
1176
1





