【问题标题】:Is there an equivalent to the RxJS v4 case operator in RxJS v5?是否有与 RxJS v5 中的 RxJS v4 案例运算符等效的功能?
【发布时间】:2018-04-05 14:24:57
【问题描述】:

我在这里找到了旧 case 运算符的文档:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/case.md

迁移指南中没有列出: https://github.com/ReactiveX/rxjs/blob/stable/MIGRATION.md

是否有一些受支持的运算符组合可以提供相同的功能?

【问题讨论】:

    标签: rxjs5


    【解决方案1】:

    RxJS v4 Rx.Observable.case(selector, sources, [elseSource|scheduler]),给出的例子是

    var sources = {
        'foo': Rx.Observable.return(42),
        'bar': Rx.Observable.return(56)
    };
    
    var defaultSource = Rx.Observable.empty();
    
    var source = Rx.Observable.case(
        function () {
            return 'foo';
        },
        sources,
        defaultSource);
    

    我猜你可以在 RxJS v5 中做到这一点

    var sources = {
        'foo': Rx.Observable.return(42),
        'bar': Rx.Observable.return(56)
    };
    
    var defaultSource = Rx.Observable.empty();
    
    var source = Rx.Observable.of('foo')
      .mergeMap(srcName => {
        const src = sources[srcName];
        return src || defaultSource;
      })
    

    想知道您在哪里使用/想要使用此运算符。

    【讨论】:

    • 谢谢!我正在将 redux-observable 引入 React 应用程序。我有一种动态路由情况,目前由thunkswitch 语句处理。因此,根据操作负载的值,我想分派几个操作之一。
    • 我可以将它用于 Angular 6 验证,例如对于选择元素值值的变化可观察到触发基于值选择的验证
    猜你喜欢
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多