Попытка связаться с двумя компонентами, я думал, что смогу сделать http-вызов, а может быть, mergeMap или switchMap для темы?
Что-то вроде
import {Subject} from 'rxjs/Subject';
constructor(private _http: HttpClient) {
this.populateList = new Subject<Blog[]>();
}
getBlogs(){
return this._http.get(this.blogsURL+'blogs')
.map((result: Response ) => {
this.blogs = result['blogs'];
return this.blogs;
}).switchMap((blogs)=>this.populateList.next(blogs))
}
Но я понимаю:
Вы указали "undefined", где ожидался поток. Вы можете предоставить Observable, Promise, Array
Я получаю ошибки, просто пытаясь подписаться на тему:
this.blogsService.populateList()
.subscribe((res)=>{
console.log(res)
})
this.blogsService.populateList не является функцией
То, что я ищу, - это способ обновления представлений после http-звонков
Вам нужно подписаться как без(). Потому что это не функция. сюрприз
this.blogsService.populateList.subscribe()
и переписать первую функцию, подобную этой, потому что вам не нужна карта коммутатора, которую вам просто нужно сделать, это побочный эффект для заполнения списка.
getBlogs(){
return this._http.get(this.blogsURL+'blogs')
.map((result: Response ) => {
this.blogs = result['blogs'];
return this.blogs;
}).do((blogs)=>this.populateList.next(blogs))
}