• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

viewModel에서 searchBooks, saveBooks, deleteBooks 함수 관련 질문이 있습니다

22.07.05 13:22 작성 조회수 129

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