Javascript 订阅两个可观察对象,即在另一个可观察HTTP中可观察
我是个新手。我试图一次发布和获取数据。我正在使用Javascript 订阅两个可观察对象,即在另一个可观察HTTP中可观察,javascript,angular,Javascript,Angular,我是个新手。我试图一次发布和获取数据。我正在使用map并订阅可观察对象,而外部可观察对象在组件中订阅 添加(数据){ 返回此.postModel(`pathHere`,data) .管道(映射((响应)=>{ if(各型号){ 返回此.getRoomById(resp.models.id).subscribe(); } })); }我想您需要使用flatMap而不是map作为 添加(数据){ 返回此.postModel(`pathHere`,data) .管道(平面图((响应)=>{ if(
map
并订阅可观察对象,而外部可观察对象在组件中订阅
添加(数据){
返回此.postModel(`pathHere`,data)
.管道(映射((响应)=>{
if(各型号){
返回此.getRoomById(resp.models.id).subscribe();
}
}));
}
我想您需要使用flatMap
而不是map
作为
添加(数据){
返回此.postModel(`pathHere`,data)
.管道(平面图((响应)=>{
if(各型号){
返回这个.getRoomById(resp.models.id);
}
}));
}
您可以使用switchMap
发出另一个Observable
当您使用if
语句检查resp.models
时,您必须处理resp.models
不真实的情况
add(data) {
return this.postModel(`pathHere`, data)
.pipe(
switchMap((resp) => {
if (resp.models) {
return this.getRoomById(resp.models.id);
}
return of(resp.models);
})
);
}