В соответствии с этим artcle , onComplete
и onError
функции subscribe
являются взаимоисключающими.
Значение либо onError
или onComplete
события будут стрелять в моих subscribe
.
У меня есть логический блок, который должен выполняться независимо от того, получаю ли я сообщение об ошибке или успешно завершаю свой поток информации.
Я искал что-то вроде finally
python , но все, что я нашел, это то, finally
что нужно прикрепить к наблюдаемому, которое я создаю.
Но я хочу использовать эту логику только при подписке и после завершения потока, успешно или с ошибкой.
Любые идеи?
источник
finally()
метод добавляется первым, а подписка императивно заставляет пройти / не пройти.finally
блок будет последним в вашем коде.Единственное, что у меня сработало, это
источник
Теперь я использую RxJS 5.5.7 в приложении Angular, и
finalize
оператор using имеет странное поведение для моего варианта использования, поскольку он запускается до успешных или ошибочных обратных вызовов.Простой пример:
Мне пришлось использовать
add
медход в подписке, чтобы выполнить то, что я хочу. В основномfinally
обратный вызов выполняется после успешного или ошибочного обратного вызова. Какtry..catch..finally
блок илиPromise.finally
метод.Простой пример:
источник