我想在Angular 2中使用Observable时处理异步流。 详细地说,在每个用户请求之前,我需要获取服务票证,如果该票证是有效的,用户可以得到适当的回应。因此,在实际请求之前,我必须先执行http请求,如下所示,我调用getServiceTicket()方法,但是,由于异步流,在获取有效的服务票据之前,会执行以下http请求(getDetail)有效的服务票据。所以我尝试使用像isServiceTicket这样的标志,但我意识到它并不能保证这两种方法的顺序运行。我试图做一些研究,但我找不到满意的答案。如果有人有这个好的解决方案,你可以给一些建议吗?根据前一个请求的角度执行http请求2
getServiceTicket() {
this.userAuthServie.getServiceTicket().subscribe(
(data: string) => {this.serviceTicket = data; this.isServiceTicket = true;}
);
}
getDetail(id: string) {
this.getServiceTicket();
return this.http.get('https://localhost/detail/' + id + '?ticket=' + this.serviceTicket)
.map((responseData) => {
return <User>responseData.json();
}
);
}
也许您正在寻找这样的:https://coryrylan.com/blog/angular-multiple-http-requests-with-rxjs – Ploppy