Есть сервис, который делает сетевой запрос:
@Injectable({
providedIn: 'root'
})
export class HttpService {
filterItems: FilterItem[] = [];
query = 'drinks';
public subject$: Subject<any> = new Subject();
constructor(private http: HttpClient) {
this.passAnArray(this.getFilterItems());
}
getFilterItems() {
return this.http.get('url')
.pipe(map(response => response[this.query]))
.subscribe(el => console.log(el));
// .forEach(el => el.checked = true)
}
passAnArray(arr): void {
this.subject$.next(arr);
}
getAnArray(): Observable<any> {
return this.subject$.asObservable();
}
и есть компонент, который должен принять этот запрос и записать в локальную переменную:
ngOnInit() {
this.httpService.getAnArray().subscribe(el => {
this.filterItems = el;
console.log(this.filterItems);
});
console.log(this.filterItems);
}
Что-то делаю не так, в консоли undefined
В сервисе консоль показывает массив, приходящий по запросу