【发布时间】:2025-12-08 21:30:01
【问题描述】:
我想在 Angular 2 中使用 Observable 时处理异步流。 具体来说,在每个用户的请求之前,我需要获取服务票,如果该票有效,用户可以得到适当的响应。因此,我必须在实际请求之前先进行http请求,如下所示,我调用了getServiceTicket()方法,但是由于异步流,在我获得有效的服务票证之前,没有执行以下http请求(getDetail)有效的服务票。所以我尝试使用像isServiceTicket这样的标志,但我意识到它并不能保证这两种方法的顺序运行。我试图做一些研究,但我找不到满意的答案。如果有人对此有很好的解决方案,您能给一些建议吗?
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();
}
);
}
【问题讨论】:
标签: http angular request observable