我刚刚开始查看最新版本的Angle cli。我创建了两个服务,一个用于地址,另一个用于人员。创建人员时,我想在创建人员给我一个新创建的地址的ID之前在地址服务上点击create方法,然后将其设置为人员对象,然后发布该对象。
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);
});
}
显然这是不对的,有人可以向我指出正确的方向吗?
答案 0 :(得分:1)
使用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);
})
)
}