Я вызываю фиктивный веб-API, чтобы заполнить переменную класса, чтобы использовать ее дальше, но затем я натолкнулся на странный сценарий, который меня смущает:
export class myClass implements OnInit{
data : any;
constructor (private http:HttpClient){}
ngOnInit(){
this.http.get("http://dummy.restapiexample.com/api/v1/employee/82342").subscribe(e=>this.data = e);
alert("beforeConsole");
console.log(this.data);
var size = Object.keys(this.data).length;
alert(size);
}
}
Переменные данные заполняются только тогда, когда я использую alert
(просто для проверки). ЕСЛИ я удалю alert("beforeConsole");
, тогда консоль выдаст мне undefined
.
Я не могу этого понять. Пожалуйста, подскажите, что на самом деле происходит.
console.log
, а неalert
для отладки кода. - person Tony Ngo   schedule 02.07.2019ngOnInit(){ this.http.get("http://dummy.restapiexample.com/api/v1/employee/82342").subscribe( e=> {this.data = e; alert("beforeConsole"); console.log(this.data); var size = Object.keys(this.data).length; } () => {alert(size);} ); }
- person Akber Iqbal   schedule 02.07.2019