Angular 将静态对象转换为可观察对象并进行连接

Angular 将静态对象转换为可观察对象并进行连接,angular,typescript,object,rxjs,observable,Angular,Typescript,Object,Rxjs,Observable,我有一个物体,需要把它和一个可观察的物体结合起来 该对象如下所示: obj1 let org1Obj = {"category": "1", "testkey": "testvalue"} observable的JSON.stringify结果如下所示: obj2 [{"id":"51XXgI1w77VerovThbUV","question":"Sdad"}, {"id":"FxjDsyLBGqtrBx1EHFyM","question":"exanoke"}] 然后,我有一个可观察的对

我有一个物体,需要把它和一个可观察的物体结合起来

该对象如下所示:

obj1

let org1Obj = {"category": "1", "testkey": "testvalue"}
observable的JSON.stringify结果如下所示:

obj2

[{"id":"51XXgI1w77VerovThbUV","question":"Sdad"},
 {"id":"FxjDsyLBGqtrBx1EHFyM","question":"exanoke"}]
然后,我有一个可观察的对象来获取数据,我正在考虑使用forkJoin将两者结合起来,因此我得到以下结果:

{"category": "1", 
 "testkey": "testvalue", 
 "questions": [
   {"name": "test1"},
   {"name": "test"}
 ]
}
如何将org1Obj变成一个可观察对象,以便在其上使用forkJoin,以及如何将第二个可观察对象添加到“问题”:[可观察结果]?

这在以下情况下是可能的:

const observable1 = Observable.of(obj1);
return Observable.forkJoin(observable1, observable2).map(([obj1, obj2]) => {
  return Object.assign({}, obj1, { questions: obj2 }); // or so
});
更简单、更高效的方法是跳过
forkJoin
并将可观察对象映射到结果对象:

return observable2.map(obj2 => {
  return Object.assign({}, obj1, { questions: obj2 }); // or so
});

将一个值转换为发出单个值的可观测值?这看起来像是对可观测数据的误用。这可以通过简单的
map
实现。由于结果的值与原始对象不同,因此它们应该如何组合仍然不清楚。我需要转换它的原因是为了可以使用forkJoin,而forkJoin的原因是我需要等待,直到从第二个可观察对象获得所有数据。如果我尝试将它们组合在一起,那么在函数运行之前,第二个可观察对象的数据将不可用。因为静态对象已经可用,所以结果数据将在可观察
map
中可用。可能
返回对象。赋值({},obj1,{问题:obj2})?可能吧,但不清楚问题的数据输入和输出是什么。我想这超出了主题的范围。我想最终的形状会是什么已经很清楚了。我明白你的意思,是的,我想这样更接近了,谢谢(虽然obj2看起来仍然不像预期的问题,可能数组应该被映射或什么的)啊,是的!