Наблюдаемое делает все, что делает обещание и даже больше.Его всегда можно переключить на обещание методом toPromise()
, если обещание ожидается.
Наблюдаемое должно быть выбрано вместо обещания, если
- любая особенность, которая присуща наблюдаемым, а не обещания и подробно объяснена в связанном вопросе , востребована (в частности, неполные наблюдаемые и наблюдаемые, которые получают несколько значений)
- API, который потребляет его, ожидает наблюдаемогои не использует
Observable.from(...)
структуру безопасности для объединения наблюдаемых и обещаний
Наблюдаемое может быть выбрано вместо обещания, если код, в котором он используется, использует исключительно наблюдаемые.
Обещание must может быть выбрано из наблюдаемого, если API, использующий его, ожидает обещание и не использует Observable.from(...)
структуру безопасности.
Обещание может можно выбрать вместо наблюдаемого, если
- код, в котором он используется, использует исключительно обещания (в частности,
async
функции) - , это необходимо длябыть немедленно подписанным и прикованным затем , потому что цепочка должна быть разорвана в наблюдаемых
let observable = ...; observable.subscribe(...); return observable
(это также требует отслеживания нескольких подписок в случае отмены наблюдаемой)