У меня проблема с пониманием асинхронного углового http-клиента.У меня была внутренняя часть, написанная на Java, где конечные точки возвращают данные в том же формате, но с разным значением.Поэтому я решил создать следующий код:
export class AppComponent implements OnInit{
temperatureDailyCharts: Chart[] = new Array();
constructor(private weatherService: WeatherService){}
ngOnInit(): void {
this.getDailyParameterCharts("temperature", this.temperatureDailyCharts);
}
getDailyParameterCharts(parameter: string, chartList: Chart[]) {
this.weatherService.getDailyParameter(1, parameter)
.subscribe(response => chartList = response);
}
}
Следующим шагом является внедрение this.temperatureDailyCharts[0]
в дочерний компонент и ожидание ngOnChange
.Этот код работает неправильно, потому что метод ngOnChanges
никогда не будет вызываться.Если я изменю свою часть подписки на значение знака экспликации
.subscribe(response => this.temperatureDailyCharts = response);
, это нормально.Пожалуйста, объясните мне, почему эта (с моей точки зрения, оба кода одинаковая) конструкция плохая?