创建一个observable,从另一个observable发出数据子集

时间:2018-04-14 16:38:44

标签: rxjs

我有一个可观察的values$发出对象。

const value = { a: { foo: bar }};
const values$ = Observable.from([value, value, value]);

我尝试创建另一个来自values$的可观察项,每次a点火时都会发出values$的值。我一直在搜索文档,寻找允许我这样做但仍未找到任何内容的运算符。

现在我每次订阅observable时都会添加额外的逻辑,但感觉不对。

const innerValueSubject = new Subject();
const innerValue$ = innerValueSubject.asObservable();

values$.do(value => innerValueSubject.next(value))
    .subscribe(...);

innerValue$.map(value => value.a)
    .subscribe(...);

我是否有办法从innerValue$派生values$,然后只是映射以获取每次values$发出时所需的结果?

1 个答案:

答案 0 :(得分:0)

从现有可观测值派生可观测值,您只需要引用每个运算符返回的现有可观测值即可。

就我而言

const innerValue$ = values$.map(value => value.a);

感谢@JBNizet对问题的评论。