Skip to content

Conversation

leftPartizan
Copy link

No description provided.

…. в useCase перенесена ссылка репозиторий, чтобы презентор работал не через репозитрий напрямую а через useCase
…ределил binding по красоте, ViewModelMvvm.kt теперь сама обрабатывет запросы из UseCaseGetPosts.kt, ViewModelMvvm.kt, наследуется от ViewModel, обнавлен MvvmContract.kt чтобы фрагмент не мог изменять LiveData
override val errorMessage: MutableLiveData<Throwable> = MutableLiveData()

override fun getPosts() {
viewModelScope.launch(Dispatchers.IO) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По гайдлайнам писать саспенд функции надо таким образом, чтобы они не блокировали вызывающий поток. В Retrofit это реализовано, поэтому переключать на IO нет смысла


override fun getPosts() {
viewModelScope.launch(Dispatchers.IO) {
try {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

в качестве улучшения, можешь попробовать ловить ошибки глобальным обработчиком ошибок

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants