Как повторно использовать сопрограмму после обработки ошибок?
В моем коде я воссоздаю новый экземпляр задания и области действия, когда любая ошибка в сопрограмме (с использованием CoroutineExceptionHandler), это работает, я думаю, что это не лучший выбор, возможно, есть другая альтернатива
fun getDashBoardData() {
loadingStateLiveData.value = true
scope.launch(scope.coroutineContext + CoroutineExceptionHandler { _, e ->
assetsBalanceLiveData.postValue(Resource.error(app.getString(R.string.no_connection), null))
Log.e(TAG, "CoroutineExceptionHandler - ${e.message}")
job = Job()
scope = CoroutineScope(Dispatchers.Default + job)
loadingStateLiveData.postValue(false)
}) {
// SUSPENDED FUN
assetsBalanceLiveData.postValue(DashboardRepository.getUserAssetsBalance())
// SUSPENDED FUN
incomeGraphDataLiveData.postValue(DashboardRepository.getIncomeGraphData())
loadingStateLiveData.postValue(false)
}
}