Tengo un objeto y necesito combinarlo con un observable.
El objeto se ve así:
obj1
let org1Obj = {"category": "1", "testkey": "testvalue"}
Los resultados con JSON.stringify de los observables se ven así:
obj2
[{"id":"51XXgI1w77VerovThbUV","question":"Sdad"},
{"id":"FxjDsyLBGqtrBx1EHFyM","question":"exanoke"}]
Luego tengo un observable que recupera datos y estoy pensando en usar forkJoin para combinar los dos, así que termino con el siguiente resultado:
{"category": "1",
"testkey": "testvalue",
"questions": [
{"name": "test1"},
{"name": "test"}
]
}
¿Cómo puedo convertir org1Obj en un observable para poder usar forkJoin en él y cómo puedo agregar el segundo observable a las "preguntas": [resultado de observable]?
Respuestas
3 para la respuesta № 1Esto es posible con:
const observable1 = Observable.of(obj1);
return Observable.forkJoin(observable1, observable2).map(([obj1, obj2]) => {
return Object.assign({}, obj1, { questions: obj2 }); // or so
});
Y una forma menos complicada y más eficaz de hacer esto es saltarse forkJoin
y mapear un objeto observable al resultado:
return observable2.map(obj2 => {
return Object.assign({}, obj1, { questions: obj2 }); // or so
});