Как преобразовать данные, не собирая поток?Android

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

Сообщение Anonymous »

Я пытаюсь преобразовать данные, которые я прочитал из класса репо, внутри ViewModel следующим образом:

Код: Выделить всё

val itemFlow = flow {
repo.getItemList().collect { itemList ->
val itemListResult = try {
Result.Success(itemList)
} catch (e: Exception) {
Result.Failure(e)
}
emit(itemListResult)
}
}
Класс «Мой результат» выглядит следующим образом:

Код: Выделить всё

sealed class Result {
data class Success(val data: T) : Result()
data class Failure(val e: Exception) : Result()
}
А вот как я читаю данные из Room в классе репо:

Код: Выделить всё

override fun getItemList() = itemDao.getItemList()
Можно ли как-нибудь преобразовать itemList в объект типа Result.Success и Result.Failure без сбора данных?< /п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... g-the-flow
Ответить

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

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

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

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

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