【发布时间】:2019-10-27 14:06:43
【问题描述】:
我有一个 Angular 路由,它使用参数 :client_name,以及一个使用方法 getClientDetails(client_name) 的服务来从基于 :client_name 的 HTTP API 获取数据。两者都是独立工作的 Observable 方法,但是当我结合 2 个 observable 时,API 调用会在获取参数之前运行(client_name 未定义):
this.route.params.subscribe(params => {
this.client_name = params['client_name'];
this.dataService.getClientDetails(this.client_name).subscribe(
clientdata => {
this.client = clientdata;
console.log(clientdata);
});
如何链接两个可观察对象,以便 API 仅在返回 :client_name 后运行?
【问题讨论】:
-
Hmm.. 所以
getClientDetails方法只有在定义了params['client_name']时才会运行? -
@wentjun 正确。
-
好的。如果它未定义会发生什么?您是否想触发任何特定行为?
-
@wentjun API 调用应该只在 params['client_name'] 被解析后运行。
标签: angular rxjs observable