Kotlin Flow
#flow #kotlin #documentation
Совсем недавно Google добавили в раздел документации информацию про Kotlin Flow. Давайте посмотрим подробнее, что там есть.
Вначале описывается то, что из себя представляет
Для создания
🔹Flow последователен, поэтому все вызываемые suspend-функции ждут результата выполнения друг друга.
🔹flow builder не может «емиттить» данные через другой CoroutineContext.
Описан также хороший пример для понимая работы Flow.
Дальше есть пример использования оператора
Сразу за ним — использование оператора
📌Важно обратить внимание на использование оператора
Не забыли упомянуть и про обработку исключений, используя оператор
Подробнее можно почитать тут. Как по мне, получилась хорошая документация, описывающая базу для работы с
#flow #kotlin #documentation
Совсем недавно Google добавили в раздел документации информацию про Kotlin Flow. Давайте посмотрим подробнее, что там есть.
Вначале описывается то, что из себя представляет
Flow: по сути, это тип, который похож на Iterator, который также отдаёт последовательность данных, но при этом использует suspend-функции для работы. Работа любого Flow делится на этапы создания, обработки и получения данных.Для создания
Flow можно использовать специальный builder, в котором можно вызвать функцию emit для публикации данных во Flow. Есть также две особенности работы Flow, о которых надо помнить:🔹Flow последователен, поэтому все вызываемые suspend-функции ждут результата выполнения друг друга.
🔹flow builder не может «емиттить» данные через другой CoroutineContext.
Описан также хороший пример для понимая работы Flow.
Дальше есть пример использования оператора
map — как пример изменения данных, формируемых Flow. Сразу за ним — использование оператора
collect для получения данных. 📌Важно обратить внимание на использование оператора
flowOn, так как он распространяет своё действие на операторы, написанные выше. Не забыли упомянуть и про обработку исключений, используя оператор
catch.Подробнее можно почитать тут. Как по мне, получилась хорошая документация, описывающая базу для работы с
Flow. Годно.✌🏻