【发布时间】:2018-12-18 19:38:11
【问题描述】:
我有一个可观察的values$ 发射对象。
const value = { a: { foo: bar }};
const values$ = Observable.from([value, value, value]);
我正在尝试从values$ 创建另一个可观察的对象,每次values$ 触发时都会发出a 的值。我一直在搜索文档以寻找允许我执行此操作的操作员,但我没有找到任何东西。
现在每次订阅 observable 时我都会添加额外的逻辑,但感觉不对。
const innerValueSubject = new Subject();
const innerValue$ = innerValueSubject.asObservable();
values$.do(value => innerValueSubject.next(value))
.subscribe(...);
innerValue$.map(value => value.a)
.subscribe(...);
有没有一种方法可以从values$ 派生出innerValue$,然后只需映射以获得每次values$ 发出时需要的结果?
【问题讨论】:
-
所以你想要
values$.map(value => value.a)? -
嗯,最终是的,但这个问题更多地集中在我如何从原始可观察对象中导出可观察对象
innerValue$,而无需创建单独的主题并手动调用next。 -
更新了最后一个代码 sn-p 来表示。
-
好吧,
innerValue$ = values$.map(value => value.a); -
这很有意义。现在很明显了。
标签: rxjs