Сценарий:
Разработих услуга, която валидира подписи (OtpSMS и позиция). Тази услуга има две основни функции:
--> 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