Size: a a a

StartAndroid Ru Chat

2020 July 03

J

J.S in StartAndroid Ru Chat
Sergey Panov
работу корутин  проблематично объяснить без примеров...
Если будет время посмотрите этот код


https://pastebin.com/e90fxqMM

Я поставил логи : до выполнения функций и после выполнения функций , Мейн поток смело работает (вывело лог тогда как корутина ещё работала) там нет delay
источник

SP

Sergey Panov in StartAndroid Ru Chat
У вас вся корутина работает в мэин потоке, вы нигде не меняете поток корутины, я так понимаю у Вас корутина валиться с ошибкой, что нельзя ходить в сеть на главном потоке?
источник

J

J.S in StartAndroid Ru Chat
Sergey Panov
У вас вся корутина работает в мэин потоке, вы нигде не меняете поток корутины, я так понимаю у Вас корутина валиться с ошибкой, что нельзя ходить в сеть на главном потоке?
Нет код работает
источник

SP

Sergey Panov in StartAndroid Ru Chat
J.S
Нет код работает
А в чём проблема?
источник

J

J.S in StartAndroid Ru Chat
Sergey Panov
А в чём проблема?
В понимании кода 😂
источник

SP

Sergey Panov in StartAndroid Ru Chat
J.S
В понимании кода 😂
Да и try/catch не отловит ошибки внутри async{}, в случае ошибки приложение упадёт
источник

J

J.S in StartAndroid Ru Chat
Sergey Panov
Да и try/catch не отловит ошибки внутри async{}, в случае ошибки приложение упадёт
Работает , словил ошибку
источник

J

J.S in StartAndroid Ru Chat
Адрес @GET поменял словил
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
J.S
Работает , словил ошибку
Словит ошибку потому что в coroutineScope обернули) может вместо coroutineScope передадите exceptionHandler в главный launch? Тогда даже try catch не нужен и -2 вложенности.
источник

SP

Sergey Panov in StartAndroid Ru Chat
J.S
Работает , словил ошибку
Проверил, был неправ
источник

J

J.S in StartAndroid Ru Chat
Vladyslav Lozytskyi
Словит ошибку потому что в coroutineScope обернули) может вместо coroutineScope передадите exceptionHandler в главный launch? Тогда даже try catch не нужен и -2 вложенности.
можно ваш пример посмотреть, просто интересно как ошибку отработать ?
источник

SP

Sergey Panov in StartAndroid Ru Chat
J.S
можно ваш пример посмотреть, просто интересно как ошибку отработать ?
Моя реализация - https://pastebin.com/H3fLKPpz
источник

J

J.S in StartAndroid Ru Chat
Получается вы передали в launch метод обработки ошибок ?
источник

SP

Sergey Panov in StartAndroid Ru Chat
J.S
Получается вы передали в launch метод обработки ошибок ?
Я передал  CoroutineExceptionHandler, это один из способов обработки ошибок внутри корутин
источник

J

J.S in StartAndroid Ru Chat
Всем спасибо!
источник

J

J.S in StartAndroid Ru Chat
Чтобы suspend функция могла приостановить код не блокируя поток —- кто нибудь может объяснить мини примером , Я не понимаю , обычный callBack тоже не блокирует поток
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Все верно, но нужна одна корректировка - ExceptionHandler вызывается на том же потоке, на котором была ошибка. Поэтому надо убедиться, что ExceptionHandler будет вызван на main потоке (если Вам это конечно важно)
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
J.S
Чтобы suspend функция могла приостановить код не блокируя поток —- кто нибудь может объяснить мини примером , Я не понимаю , обычный callBack тоже не блокирует поток
Под капотом suspend и есть callback с переключением потоков
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
просто он избавляет от так называемого Callback Hell
источник

J

J.S in StartAndroid Ru Chat
Походу догнал
источник