getWatchlist(query: string): BehaviorSubject<IWatchlist> {
this.search(query)
.subscribe((searchResults: Observable<ISearchResults>) => {
const watchlist = formatSearchResults(searchResults);
this.watchlist$.next(watchlist);
});
return this.watchlist$;
}
У меня есть search
функция, которая выполняет http-вызов и возвращает Observable
. Я вызываю это search
внутри другой функции, которая должна возвращать BehaviorSubject
. Как видите, последняя строка return this.watchlist$;
не ждет функции search
, она просто возвращает BehaviorSubject
, а затем я просто обновляю эту watchlist$
.
Я пытаюсь удалить эту последнюю строку и вернуть watchlist$
только когда получу результат функции search
.
Я пытался сделать:
getWatchlist(query: string): BehaviorSubject<IWatchlist> {
return this.search(query)
.subscribe((searchResults: Observable<ISearchResults>) => {
const watchlist = formatSearchResults(searchResults);
this.watchlist$.next(watchlist);
return this.watchlist$;
});
}
но у меня ошибка: Type Observable<BehaviorSubject<IWatchlist>>
нельзя присвоить типу `так как я могу решить эту проблему?