【发布时间】:2018-02-26 22:50:06
【问题描述】:
我正在使用键入的响应进行 2 个 API 请求调用,并将它们组合成一个 Observable.forkJoin。我想在不同类型的变量中得到两个结果。
var observableOrganization: Observable<Organization> = this.getOrganizationDetails();
var observablePromotion: Observable<Promotion[]> = this.getPromotions();
Observable.forkJoin([ observableOrganization, observablePromotion])
.subscribe(
response => {
organization: Organization = response[0];
promotions: Promotion[] = response[1];
},
error => {
// ...
}
);
如何在单个订阅响应中获得键入的结果?
【问题讨论】:
-
“输入”是指例如。这个
Observable<Promotion[] | Organization >?或者你想合并结果? -
我不想要合并的结果,我更喜欢分离的类型。
-
老实说,我不明白你想要实现什么或什么不起作用......
-
在 .subscribe((response)) 中,响应类型默认为 Organization[]。这是错误的,我进行了 2 次 api 调用,这给了我 2 种不同的类型(组织和提升 []),而不是组织 []
-
这是你正在做的github.com/ReactiveX/rxjs/blob/master/src/observable/…,它返回
Observable<[Organization, Promotion[]]>
标签: angular typescript rxjs observable