您好我对Angular和Observables来说很新颖Angular:接收响应的顺序与调用
我想通过循环的方式获取对象的ID。 但没有收到我的订单响应。
例
get ID(1)
get ID(2)
get ID(3)
Receive Object ID(2)
Receive Object ID(3)
Receive Object ID(1)
是否有可能让我回来的对象,以便? 下面是我多次调用我的服务功能:
conferences-attendance.component.ts
ExportExcelAttendance() {
for (var i = 0; i < this.contactsAttendance.length; i++) {
this.practiceService.GetPracticebyDBID(this.contactsAttendance[i].practiceId)
.subscribe(
(practice: Practice) => {
this.practicesAttendance.push(practice);
if (this.practicesAttendance.length == this.contactsAttendance.length) {
this.ExportExcelAttendance2();
}
},
error => this.errorMessage = <any>error
);
}
}
这是我在我的服务功能,在那里我得到的数据(不是为了与电话) 。
practices.service.ts
GetPracticebyDBID(id: string) {
let params: URLSearchParams = new URLSearchParams();
params.set('thisId', id);
let requestOptions = new RequestOptions();
requestOptions.params = params;
return this.http.get('http://ec2-34-231-196-71.compute-1.amazonaws.com/getpractice', requestOptions)
.map((response: Response) => {
return response.json().obj;
})
.catch((error: Response) => Observable.throw(error.json()));
}
我同意,但也决定保留'cocncatAll',有时您需要按顺序运行API调用。例如:注册然后登录。 –
@AnasAlHamdan - 好点!虽然,我指的是concatAll后面的forkJoin,你之后删除了(假设复制粘贴的东西)。 –
你抓住了我:第 –