我有一个对象,需要将它与一个observable结合起来。
该对象如下所示:
OBJ1
let org1Obj = {"category": "1", "testkey": "testvalue"}
使用observable的JSON.stringify的结果如下所示:
OBJ2
[{"id":"51XXgI1w77VerovThbUV","question":"Sdad"},
{"id":"FxjDsyLBGqtrBx1EHFyM","question":"exanoke"}]
然后我有了一个可以获取数据的observable,我想用forkJoin来组合两者,所以我最终得到以下结果:
{"category": "1",
"testkey": "testvalue",
"questions": [
{"name": "test1"},
{"name": "test"}
]
}
如何将org1Obj变成一个observable,以便我可以在其上使用forkJoin,如何将第二个observable添加到&#34;问题&#34;:[来自observable 的结果]?< / p>
答案 0 :(得分:3)
这可以通过以下方式实现:
const observable1 = Observable.of(obj1);
return Observable.forkJoin(observable1, observable2).map(([obj1, obj2]) => {
return Object.assign({}, obj1, { questions: obj2 }); // or so
});
不那么复杂且性能更高的方法是跳过forkJoin
并将一个observable映射到结果对象:
return observable2.map(obj2 => {
return Object.assign({}, obj1, { questions: obj2 }); // or so
});