Это данные, возвращаемые REST API.
{
"clo_change": 91.0,
"vam_change": 72.76,
"sla_change": 94.0,
"feedback_change": 87,
"so_change": 69.0,
"cost": 87277.75
}
В моем файле service.ts я делаю запрос на URL-адрес
public getNewPlanData(): Observable<any>{
console.log("I am here createNewPlanModel");
return this.http.get('http://localhost:8000/newplandata/')
.map((response: Response) => {
console.log("I am here createNewPlanModel2");
return response.json()
});
}
Я подписываюсь на наблюдаемое в файле component.ts
this.mainService.getNewPlanData().subscribe(result =>{
console.log("inside subscribe")
this.newData=result;
console.log(this.newData)
}, error => console.log(error));
console.log("outside subscribe")
Когда я отлаживаю код в Chrome, в первый раз приложение не попадает и
значение не определено и печатается "внешняя подписка"
и во второй раз я получаю значения из REST API, и значения печатаются внутри цикла подписки, но он не доходит до следующего оператора console.log("outside subscribe")
, вместо этого он выдает ошибку, например
Возвращаемое значение: undefined
и значения не используются для дальнейшей обработки.
Я хочу, чтобы значения this.newData использовались вне цикла подписки для дальнейшей обработки. Пожалуйста, помогите мне решить эту проблему.
async
в angular. Вы не можете использовать что-то за пределами подписки, если только это не является немедленным разрешающим наблюдением, которое не - person Poul Kruijt   schedule 13.02.2019