Есть ли эквивалент в случае 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;
})
Было бы интересно узнать, где вы используете / хотите использовать этот оператор.