小编Vla*_*tea的帖子

Rxjs 主题表现 - 多少算太多?尝试将几个合而为一是不是更好?

这就是我的问题的要点。假设您有一个处理 2-3-4-10 个操作的服务。为了在多个组件中进行交流,您有 2-3-4-10 个主题。

那么,是最好有 1 个主题,然后传入一个对象来标识它所涉及的操作,并在您的订阅中进行过滤……还是有很多主题并单独订阅?

多少科目太多?他们或多或少在整个过程中同时保持活跃。

从某种意义上来说,我有点好奇,而不是我自己的用例以及它是否可以做得更好。

javascript rxjs angular

7
推荐指数
1
解决办法
1281
查看次数

RxJS 管道过滤成 2 个以上分支

假设我们有一个主题,它可以返回一组给定的值,所有这些值可能需要不同的方法来处理。我们可以争论是否应该如此,但这并不是我调查的重点。

所以......为了处理这个问题,我们的代码可能看起来像这样:

var sub = new Subject(); 

sub.subscribe( 
    data => {
        if (caseA) {
            // do something
        }
        if (caseB) {
            // do something else
        }
     });
Run Code Online (Sandbox Code Playgroud)

这一切都很棒,一切都很棒……但我想知道是否有一些操作符可以链接起来以使其更加rx-ish?想到了过滤器,但是链接 caseA 和 caseB 只会使其不起作用(显然),因为它最终会过滤掉两者。

所以,我的问题归结为:是否有可能有任何类似于下面的伪代码的东西?您知道有任何操作员可以像这样工作吗?

var sub = new Subject(); 

sub.pipe(
    magicOperator(//handles caseA),
    magicOperator(//handles caseB),
)
subscribe( 
    data => {
        // handles common thread
     });
Run Code Online (Sandbox Code Playgroud)

javascript rxjs rxjs-pipeable-operators rxjs6

5
推荐指数
1
解决办法
1879
查看次数