Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 2.42 KB

File metadata and controls

36 lines (28 loc) · 2.42 KB

Главная

Асинхронные взаимодействия

Для подавляющего количества асинхронных задач следует использовать RxJava/RxKotlin.

Использование Rx, например в Presenter(при построении MVP архитектуры), помогает решить проблемы смены конфигурации.

Поток, в котором будет выполняться асинхронная задача следует указывать непосредственно перед подпиской на Observable. Это необходимо для выполнения составных асинхронных задач в одном потоке.

Для указания потока выполнения и потока подписки асинхронной задачи, обернутой в Observable присутствует класс SchedulersProvider из модуля rx-extension, предоставляющий доступ к Scheduler главного и рабочего потока. Использование классов rx.Schedulers и AndroidSchedulers запрещено. Эта абстракция была создана для возможности тестирования асинхронного взаимодействия между модулями.

Также в rx-extension представлены полезные интерфейсы и утилиты для работы с Rx.

В студийной практике принято оборачивать те или иные события в rx. Например, есть готовые обертки для: