Есть ли эквивалент в случае RxJS v4 в RxJS v5?

Я нашел документы для старых case Оператор здесь: https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/case.md

Он не указан в руководстве по миграции: https://github.com/ReactiveX/rxjs/blob/stable/MIGRATION.md

Существует ли какая-то комбинация поддерживаемых операторов, которая бы обеспечивала такую ​​же функциональность?

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;
  })

Было бы интересно узнать, где вы используете / хотите использовать этот оператор.

Другие вопросы по тегам