我正在尝试创建一个可观察的响应,我在其中进行一次http调用,然后在返回响应之前,我再次进行http调用以填充第一个调用的返回对象,如下所示。
getOrderWithItems(orderId: string, includes: Set<OrderInclude>): Observable<OrderDto> {
return this.getOrder(orderId, includes)
.map(order => {
this.searchItems().subscribe(
items => {
order.items = items.results;
return order;
}
)
});
}
编译器给出错误:类型'Observable'不能分配给'Observable'类型。不知道如何让这个工作。 this.getOrder()和this.searchItems()都映射了http调用,返回相应的observable。
答案 0 :(得分:0)
您的地图不会返回任何内容。它只订阅了另一个Observable。
要将一个Observable转换为另一个( getOrder 到 searchItems ),请使用其中一个平面运算符。在您的情况下, switchMap 适合:
Maybe