Как я могу создавать многоразовые сопрограммы?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Как я могу создавать многоразовые сопрограммы?

Сообщение Гость »


Мне хотелось бы узнать больше о Kotlin, поэтому я решил написать этот пост. Я не знаю, что мне сейчас делать со своим проектом.

Сценарий прост: у нас есть вызов API, SwipeRefreshLayout и LAZY сопрограмма.

Предположим, мы запустили LAZY coroutine, которая отвечает за запуск вызова API в ViewModel и наблюдение за ответом как MutableLiveData. Теперь, если пользователь обновит Layout и после некоторых действий потребуется выполнить еще один вызов API, считается ли хорошим подходом использовать для этого Job?

Как известно, сопрограммы нельзя использовать повторно, но мне удалось повторно запустить это конкретное Job.

Пример:
Private val someJob: Job get() = viewLifecycleOwner.lifecycleScope.launch(start = CoroutineStart.LAZY) { someViewModel.performApiCall() someViewModel.responseMLD.observe(viewLifecycleOwner, Observer { someObj -> когда (someObj) { это оболочка. Успех -> { //делать... } это оболочка. Ошибка -> { Лог.е( ЯРЛЫК, "что-то пошло не так" ) } } }) } .... myBind.refreshLayout.setOnRefreshListener { по умолчаниюViewsSetup() myBind.refreshLayout.isRefreshing = false }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»