Angular 9:即使在赋值之后,对象也会在ngOinit中被udefine



我正试图访问ngOnInit中函数分配的对象,但控制台日志显示该对象未定义,而LoadSelCompanies订阅块中可以访问相同的变量:

export class dealComponent implements OnInit {
selfcompanies;
self;
dealForm: FormGroup;
constructor(private userService: UserService) { }
ngOnInit() {
this.AddControls();
this.LoadSelCompanies();
console.log(this.selfcompanies);
}
LoadSelCompanies() {
this.userService.LoadCompanyInfo().subscribe(data => {
this.selfcompanies = data;
console.log(data);
console.log(this.selfcompanies);
});
}

我对此一无所知,请帮帮我。

这是一个经典的竞赛条件问题。

LoadCompanyInfo((返回一个异步的可观测值,因此

console.log(this.selfcompanies);

发生在分配之前。

this.selfcompanies = data;

最新更新