Единственное, что я могу придумать, - это использовать BehaviorSubject или просто Subject. Рассмотрите возможность внесения следующих изменений:
systemPreference = new BehaviorSubject<any>({});
ngOnInit(){
console.log("ngOnInit");
//get system preference
this.http.get("https://data.hawaii.gov/api/views/usep-nua7/rows.json").subscribe(res=>{
systemPreference.next(res);
})
ngAfterViewInit(){
console.log("ngAfterViewInit");
systemPreference.subscribe(pref =>
console.log(pref ));
}
Я считаю это исправление хакерским приемом, где правильным подходом было бы реагировать на это. Трудно дать вам руководство по реактивному подходу, не имея более широкой картины.
-Isaa c