Давайте предположим, что у нас есть субъект, который может возвращать заданный набор значений, каждый из которых может потребовать другого подхода к ним. Мы могли бы обсудить, должно ли это когда-либо иметь место, НО не совсем предмет моего расследования.
Так что ... чтобы справиться с этим, наш код мог бы выглядеть примерно так:
var sub = new Subject();
sub.subscribe(
data => {
if (caseA) {
// do something
}
if (caseB) {
// do something else
}
});
, что все отлично и прекрасно ... но мне было интересно, есть ли какой-нибудь оператор что мы можем связать, чтобы сделать его более rx-i sh? Мысль о фильтре, но сцепление caseA и caseB просто не даст ему работать (очевидно), поскольку в итоге происходит фильтрация обоих.
Итак, мой вопрос сводится к следующему: возможно ли иметь что-то отдаленно напоминающее рев псевдокода? Любой оператор (ы) вы знаете, что будет работать так?
var sub = new Subject();
sub.pipe(
magicOperator(//handles caseA),
magicOperator(//handles caseB),
)
subscribe(
data => {
// handles common thread
});