我有以下问题:
我正在构建一个异步过滤消息的应用程序。我想构建这样的东西,使用 Observables 作为过滤器(使用 .filter()):
输入--过滤器1--过滤器2--订阅者1
|__filter3--filter4--subscriber2
|__filter5--filter6--subscriber3
|__filter7--订阅者4
输入将是一个链接列表,因此我可以使用 Observable.from() 创建可观察链。然后我想创建一棵可观察量树,如上图所示。我遇到的问题是我不知道如何将信息广播到下一个节点,例如:什么通过filter5,发送到filter6和filter7。这应该发生在所有可观察量上,直到到达树的末尾,并且我可以拥有消耗流的订阅者。
非常感谢!
最佳答案
我不确定你的意思,但你可以简单地在树结构中创建和链接 Observables:
Observable input = ...
Observable o1 = input.filter(f1).filter(f2);
Observable o2 = input.filter(f3).filter(f4);
Observable o3 = input.filter(f5);
Observable o4 = o3.filter(f6);
Observable o5 = o3.filter(f7);
如果您不想多次使用输入,您可以发布
它:
ConnectableObservable input = Observable.from(list).publish();
// ... chain as before
input.connect();
关于java - 创建 Observables 树并添加订阅者作为叶子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546448/