Сценарий:
Я разработал сервис, который проверяет подписи (OtpSMS и Position). Эта служба выполняет две основные функции:
--> validateSignPosition() : Наблюдаемый --> validateSignOtpSMS() : Наблюдаемый
Две упомянутые функции являются асинхронными, потому что им необходимо запросить вызов к удаленному серверу. Причина в том, что я использовал наблюдаемые данные, чтобы поддерживать правильный поток приложения.
Проблема
У меня есть ограничение на то, что я не могу использовать ngOnDestroy для отмены подписки на эти наблюдаемые. Затем я подумал о реализации действия по отмене подписки, когда я получаю данные или исключение ошибки. Как этот пример:
currentObserver = this.service.validateSignOTP().subscribe(
data => { this.currentObserver.unsubscribe() },
error => { this.currentObserver.unsubscribe() }
...
Я считаю, что есть еще один вариант не копировать код. Я слышал о разделе finally/onComplete, который выполняется, хотя получает данные или исключение. Но я не знаю, работает ли это с асинхронным излиянием...
Знаете ли вы, как можно отменить подписку на наблюдаемые для этого сценария?
Спасибо.
takeUntil
и условие. Посмотрите здесь medium.com/@benlesh/rxjs-dont-unsubscribe-6753ed4fda87< /а> - person nicowernli   schedule 19.02.2018