У меня есть преобразователь, который выбирает данные из службы и передает этот объект Observable компоненту, который подписывается и реализует преобразователь.
resolve (route: ActivatedRouteSnapshot): Observable<NewsAPIArticle[]> {
return this.newsAPIService.getNewsAPIArticles()
.pipe(
catchError(error => {
this.alertify.error('Problem retrieving news');
return of(null);
}),
take(5)
);
}
В ngOnInit компонента я получаю данные, сохраняю их в локальный массив и консоль записываю в журнал массив.
ngOnInit() {
this.router.data.subscribe(data => {
this.articles = data['news']['articles'];
console.log(this.articles);
this.language = 'en';
});
}
Однако вместо того, чтобы записывать в консоль 5 вещей, которые распознаватель должен «взять» из наблюдаемого, насколько я понимаю, массив возвращается с 20 объектами. Что я делаю не так в операторе take rxjs? Я не хочу все 20 ответов, только, может быть, 5.
