C# 使用父对象可观察角度构建子对象可观察角度

C# 使用父对象可观察角度构建子对象可观察角度,c#,angular,rxjs,C#,Angular,Rxjs,我在一个Angular项目中工作,我试图通过使用rxjs操作符用其父对象填充子对象属性。 这些对象看起来像这样 [ {idSite:1,siteName:“第一个Ensigne的站点”,EnsigneId:1,Ensigne:null}, {idSite:1,siteName:“第二个Ensigne的站点”,EnsigneId:2,Ensigne:null}, ] [ {idEnseigne:1,名称:“First Ensigne”,站点:[]}, {idEnseigne:2,名称:“第二个en

我在一个Angular项目中工作,我试图通过使用rxjs操作符用其父对象填充子对象属性。 这些对象看起来像这样

[
{idSite:1,siteName:“第一个Ensigne的站点”,EnsigneId:1,Ensigne:null},
{idSite:1,siteName:“第二个Ensigne的站点”,EnsigneId:2,Ensigne:null},
]
[
{idEnseigne:1,名称:“First Ensigne”,站点:[]},
{idEnseigne:2,名称:“第二个ensigne”,站点:[]},
]
我想用他们的电子签名获得这些网站:

[
{
地点:1,,
siteName:“第一个Ensigne的站点”,
enseigneId:1,
Ensigne:{idEnseigne:1,名称:“First Ensigne”,站点:[]}
},
{
地点:1,,
站点名称:“第二个Ensigne站点”,
enseigneId:2,
Ensigne:{idEnseigne:2,名称:“第二个Ensigne”,站点:[]}
},
]
我使用网站服务

fetchAllSites():可观察的{//,它请求我的API中的所有站点
让url=`${this.provider}all`;
返回此.http.get(url);
}
还有一个作为站点服务的Ensigne服务

我试图用该方法填充fetchAllSites中的所有站点值,但可能我的方法不对

导出类仪表板组件实现OnInit{
站点!:站点[]
Ensignes!:Ensigne[]
ngOnInit():void{
这个.LoadTabcomponent();
}
LoadTabcomponent(){
此.siteService.fetchAllSites()管道(
地图(站点=>{
sites.map(site=>{
此.enseigneseservice.getEnseignes()管道(
地图(EnSignes=>{
nseignes.map(nseigne=>{
if(site.enseigneId==enseigne.idEnseigne){
site.enseigne=enseigne
}
})
})
)
})
})
) 
}
}

我的web API是c#,我应该从API中获取完整的对象,但它不支持序列化,因为我需要完成更多的对象才能获得所需的内容,因此我正在尝试在Webapp中构建该对象。

您可以尝试使用
CombineTest
forkJoin
操作符合并这两个结果,如下所示:

combineLatest([
  this.siteService.fetchAllSites(),
  this.enseigneService.getEnseignes()
]).pipe(
  map([sites, enseignes] => {
    ... you merge code here
  })
).subscribe((sites)=> this.sites = sites);

感谢您的建议,该解决方案与CombineTest和ForkJoin配合使用效果良好。我想补充一点,操作员的结果将是无效的,以便订阅我拥有的值
。订阅((sites)=>this.sites=与Site[]一样未知的sites