angular - Angular Observables 链接调用和设置子对象数据
问题描述
我刚刚开始查看最新版本的 angular cli。我创建了两种服务,一种用于地址,另一种用于人员。创建人员时,我想在创建人员之前点击地址服务上的 create 方法,给我一个新创建的地址的 id,然后将其设置为人员对象,然后发布。
return create(model:Person) : Observable<Person> {
this.addressService.create(model.Address)
.subscribe((result:Address) =>{
model.AddressId = result.Id;
return this.http.post(url,model,httpOptions);
});
}
显然这是不对的,有人可以指出我正确的方向吗?
解决方案
使用mergeMap
链接可观察对象。
import { mergeMap } from 'rxjs/operators';
create(model: Person): Observable < Person > {
return this.addressService.create(model.Address)
.pipe(
mergeMap((result: Address) => {
model.AddressId = result.Id;
return this.http.post(url, model, httpOptions);
})
)
}
推荐阅读
- spi - STM32F4上边界扫描内的SPI从机
- c# - 在纬度/经度折线上找到最近点的 C# 解决方案
- angular - 如何使用 CodedUI 自动化 Angular 或 reactjs 应用程序?
- reactjs - 使用 redux 操作写入 Firebase DB 会在 DB 中写入全新数据
- vhdl - 如何编写代码以跳过上升沿并继续计数,直到在 vhdl 中检测到第二个上升沿
- android - 如何使用 AsyncTask 下载大型视频文件?
- java - 将 DISTINCT 与 SQLiteDatabase 查询方法一起使用时如何不使用 LIMIT?
- odoo - 在 POS(销售点)会话中查看条形码字段
- jenkins - Jenkins 流水线条件环境变量
- java - 从智能卡读取私钥以对 XML 文档进行数字签名