【发布时间】:2017-11-16 07:57:53
【问题描述】:
我有一个对象,需要将它与一个 observable 结合起来。
对象如下所示:
obj1
let org1Obj = {"category": "1", "testkey": "testvalue"}
使用 JSON.stringify 的 observable 的结果如下所示:
obj2
[{"id":"51XXgI1w77VerovThbUV","question":"Sdad"},
{"id":"FxjDsyLBGqtrBx1EHFyM","question":"exanoke"}]
然后我有一个获取数据的 observable,我正在考虑使用 forkJoin 将两者结合起来,所以我最终得到以下结果:
{"category": "1",
"testkey": "testvalue",
"questions": [
{"name": "test1"},
{"name": "test"}
]
}
如何将 org1Obj 变成一个 observable,以便可以在其上使用 forkJoin,以及如何将第二个 observable 添加到“问题”:[result from observable]?
【问题讨论】:
-
将值转换为发出单个值的可观察对象?这看起来像是对可观察对象的滥用。这可以通过简单的
map来完成。由于结果的值与原始对象不同,它们应该如何组合的方式仍不清楚。 -
我需要转换它的原因是我可以使用 forkJoin,而 forkJoin 的原因是因为我需要等到第二个 observable 中的所有数据都可用。如果我尝试将它们组合起来,那么在函数运行之前,第二个 observable 中的数据将不可用。
-
由于静态对象已经可用,结果数据将在 observable
map中可用。
标签: angular typescript object rxjs observable