У меня есть угловой веб-сайт, который использует спокойный веб-сервис wcf. Веб-служба, в свою очередь, взаимодействует с бизнес-объектами, которые общаются с базой данных. Я использую модуль @ angular / common / http для превращения веб-сервиса в наблюдаемый объект, который затем отображается на веб-странице. Пока все хорошо.
Теперь я также обновляю базу данных через веб-сервис, который также отлично работает.
Но это немного медленно, и я хотел бы иметь возможность обновлять Observable напрямую и одновременно с вызовом обновления веб-службы, чтобы веб-сайту не приходилось ждать, пока данные пройдут через веб-службу. через невероятно медленные бизнес-объекты планирования корпоративных ресурсов в базу данных, а затем обратно в объекты Observable, обновляя экран через асинхронный канал.
Итак, я подумал про себя, почему бы просто не заменить Observables на BehaviorSubjects? Затем я мог бы просто использовать метод «next» в BehaviorSubject для быстрого обновления страницы.
Но когда я попробую это ...
public cartons$: BehaviorSubject<ICartonTrackDetail[]>;
this.cartons$ = this.cartonService.getCartonsObservable();
Я получаю эту ошибку ...
Type 'Observable<ICartonTrackDetail[]>' is not assignable to type 'BehaviorSubject<ICartonTrackDetail[]>'.
Property '_value' is missing in type 'Observable<ICartonTrackDetail[]>'.```
Теперь, ошибка имеет смысл, но заставляет меня отступить и задуматься: как лучше всего достичь моей цели?