Попытка использовать RxJS с различными типами для «ввода и вывода»:
a$: Subject<Request>;
b$: Observable<Pair[]>;
Когда я передаю запрос, он обрабатывается в функции scan
и добавляется в аккумулятор:
this.b$ = this.a$.pipe(
startWith([]),
scan(this.accumulator),
shareReplay(),
);
accumulator(acc: Pair[], modification: Request): Pair[] {
// .... process request and add the pair derived from request to acc
return acc
}
Но машинопись немедленно начинает жаловаться на то, что аккумулятор не применим к определенным типам, и работает только с установкой modification: any
, которая совсем не похожа на машинопись.
Не понимаю ли ячто-то о Rx?Этот шаблон работал для меня ранее, когда я добираюсь до времени выполнения.