我正在使用rxjs并希望使用包中的Readermonadfp-ts作为依赖注入解决方案。
这是我的代码:
import { of } from 'rxjs';
import { pipe } from 'fp-ts/function';
import { mergeMap } from 'rxjs/operators';
import * as R from 'fp-ts-rxjs/ReaderObservable';
type Dependency = { dep1: string }
const fn1 = (input: string): R.ReaderObservable<Dependency, string> => (dep: Dependency) =>
of(`${input} | ${dep.dep1}`);
const fn2 = () => pipe(
of('initial').pipe(
mergeMap(x => pipe(
fn1(`| inside merge map ${x}`),
)),
),
);
fn2()({dep1: "something"}).subscribe(
data => console.log(data),
);
fn1函数具有使用Readermonad注入的依赖项
问题是当我在 amergeMap中使用此函数时,返回值是 aReaderObservable而不是 anObservable并导致错误。
我怎样才能ReaderObservable在里面使用mergeMap?