【发布时间】:2020-03-06 10:16:42
【问题描述】:
我有组件和服务。该组件正在调用正在创建 API 调用的服务函数。 一旦 API 调用完成,我想调用另一个函数并传递 api 调用的结果。 技术:angular、rxjs、swagger
在组件中:
of(this.customerService.getCustomerOverview(this.id)).subscribe((x)=>{
console.log(x);
this.getResultValues(x);
});
在役:
getCustomerOverview(id) {
this.localSubscriptions.push(this.apiClient.getCustomer(id, '').subscribe(result => {
console.log(result);
return result;
},
(error: any) => {
}));
}
错误: this.getResultValues(x);在 API 调用完成之前调用,并将结果返回给调用函数。
感谢您的帮助!
【问题讨论】:
-
Angular 有一个内置的 http 客户端,它返回一个 observable。我建议看一下他们的示例,因为您执行此操作的方式比应有的复杂得多。 angular.io/guide/http
-
真的,这只是你不能从订阅内部返回的问题。移除 subscribe 并返回一个 observable。然后你也可以删除of()。请记住,您不能从订阅中返回,只是您可以真正从节点经典回调中返回。