Используйте в html асинхронный канал = ›¿BehaviorSubject или Observable?

Я сомневаюсь, что в проекте, над которым я работаю, я видел это:

private _isReady$: BehaviorSubject<boolean> = new <boolean>(false);
get IsReady$(): Observable<boolean> {
    return this._isReady$.asObservable();
}

А затем в шаблоне html:

{{ isReady$ | async}}

Почему бы не определить behaviorSubject как общедоступный и не использовать его напрямую в html с помощью асинхронного канала? В чем разница / выгода, возвращающая этот объект поведения в качестве наблюдаемого для использования его в html?


person user2992476    schedule 22.02.2019    source источник


Ответы (1)


Причина того, что _1 _ (_ 2_) является частным, заключается в том, что только определенной службе должно быть разрешено генерировать наблюдаемое (никакие другие компоненты или службы не должны иметь права делать это).

Но другие могут сделать это только subscribe, используя общедоступный Observable IsReady$

person Amit Chigadani    schedule 22.02.2019
comment
Вы правы, большое спасибо за объяснение - person user2992476; 22.02.2019