Как лучше всего объединить эти операции с RxJava:
- Получить токен авторизации из общих настроек
- Если он не существует или недействителен, получите его с сервера.
- Выполните запрос с допустимым.
Как лучше всего объединить эти операции с RxJava:
Предположим, у вас есть две наблюдаемые, одна из которых возвращает AuthToken
из общих префов, а другая возвращает AuthToken
с сервера:
Observable<AuthToken> authTokenFromPrefs = ...;
Observable<AuthToken> authTokenFromServer = ...;
Затем создайте наблюдаемую из двух вышеприведенных, которая использует AuthToken
и возвращает результаты вызова службы:
Observable<T> results =
authTokenFromPrefs
.filter(AuthToken::isValid)
.switchIfEmpty(authTokenFromServer)
.flatMap(authToken -> callService(authToken));
switchIfEmpty
помечен как @Experimental
. Вы предлагаете использовать его?
- person rciovati; 08.10.2015