Когда Observable C()
завершается неудачно, запускается и вводит повтор, все остальные потоки оказываются заблокированными.
Observable.combineLatest(Auth(), B())
.switchMap(([auth, b]) => C(auth.id, b.resp)())
.retry(2)
.subscribe({})
Функция Auth
возвращает Observable, структурированный как
Stream.take(1)
.map(s => s.userSession)
.filter(s => s.type === 'AuthedUserSession')
.map(assertAsAuthedSession)
Auth
используется в некоторых других местах с combineLatest
столяром. B()
- наблюдаемый ajax. Я пытался использовать retryWhen
, когда задержка, но, похоже, ведет себя так же. Возможно ли, что я заблокировал везде, где используется Auth()
, используя его с блоком повторных попыток?