해결된 질문
작성
·
170
1
retrofit 과 Room 둘다 자체적으로 비동기 처리를 해주기 때문에 Main Dispatcher(ViewModelScope.launch)에서 suspend function을 사용하더라도 main-safe 하다고 알고 있습니다.
따라서 Dispatchers.IO 로 Dispatchers를 변경하지 않고 그냥 viewModelScope.launch { repository.fun}으로 함수를 선언 해주어도 될것같습니다
참고)
https://sandn.tistory.com/94
https://developer.android.com/codelabs/kotlin-coroutines?hl=ko&return=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-coroutines%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fkotlin-coroutines#8
답변 1
1
말씀하신것이 맞습니다.
제가 샘플앱을 제작할땐 viewmodelscope 의 dispatcher가 main이라 room의 정상 작동이 안되길래 굳이 io로 변경한건데 지금 다시 테스트해보니 dispatcher 변경없이도 정상작동하네요. 알려주셔서 감사합니다 :-D