【发布时间】:2019-12-03 22:52:30
【问题描述】:
我需要在我的 ngOnInit 中加载一些数据。
ngOnInit() {
this.perfilService.getPerfisList()
.subscribe(res=> {
this.perfilData = res;
for(var i= 0;i < this.perfilData.length ; i++){
var Indata = {'idUsuario': this.id, 'idPerfil': this.perfilData[i].id };
console.log(Indata);
this.usuarioperfilService.validaUsuariosPerfil(Indata)
.subscribe(res2 => {
this.response = res2;
console.log(res2);
});
}
});
我需要等待perfilService.getPerfisList 完成,将响应迭代为this.perfilData,然后开始调用this.usuarioperfilService.validaUsuariosPerfil。
问题是两个函数同时被调用,所以由于函数 2 的请求是函数 1 的响应,所以还没有响应,所以第二个函数被空请求调用。
在 ngOnInit 期间我该如何管理?
【问题讨论】:
-
'this.response = res2;'中的'this.response'是什么?
-
ngOnInit 被调用了两次,看stackoverflow.com/a/35763811/3111930
-
@Sebastian ngOnInit 在组件生命周期中仅调用一次。
标签: angular typescript rxjs angular-observable