-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] 마이페이지 / 마이페이지 진입 시 서버와의 통신 이전에 데이터스토어에 저장된 정보 출력 #191
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
깔끔하다 고생했어요 👍
@@ -84,6 +86,14 @@ class MyPageFragment : BindingFragment<FragmentMyPageBinding>(R.layout.fragment_ | |||
mainViewModel.getUser() | |||
} | |||
|
|||
private fun initUserData() { | |||
val data = runBlocking { dataStoreRepository.getUserInfo().first() } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getUserInfo() 함수가 suspend 함수여서 코루틴 스코프를 만들어주기 위해 runBlocking을 사용한 거 같은데
viewLifeCycleScope.launch
이용해서도 프래그먼트 뷰의 라이프사이클을 따라가는 코루틴 스코프를 만들 수 있을 거 같아요!
DataStore는 코루틴과 Flow를 사용해 데이터 검색 및 저장을 위한 완전 비동기식 API를 제공하여 UI 쓰레드를 차단할 위협을 줄여준다는 게 큰 장점이기 때문에, runBlocking
은 저번에 interceptor에서처럼 동기 처리가 반드시 필요한 상황에서만 사용하는 게 좋을 거 같습니다 :)
initTargetModifyButtonClickListener(data) | ||
} | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
서버 통신으로 데이터 가져오는데 걸리는 로딩 시간 때문에, 매번 캐릭터 이미지가 깜박거리는 게 신경쓰였는데 넘 좋네용!! 👍👍
📝 Work Description
📣 To Reviewers
다행히 간단하게 처리가 가능했습니다 !