RxJS 将 Observable<string[]> 转换为 Observable<string>
RxJS convert Observable<string[]> into Observable<string>
RxJS 5.5.6。我正在尝试将 Observable<string[]>
转换为 Observable<string>
我不确定 mergeAll
运算符是否是我要找的
const o1: Observable<string[]> = of(['a', 'b', 'c']);
const o2: Observable<string> = o1.pipe(
mergeAll()
);
Typescript 会 return 这个错误:
Type 'Observable<string | string[]>' is not assignable to type 'Observable<string>'.
Type 'string | string[]' is not assignable to type 'string'.
Type 'string[]' is not assignable to type 'string'.
我接收 Observable 作为参数,我可以改变构造方式。
您似乎遇到了已报告的 RxJS 问题,请参阅 https://github.com/ReactiveX/rxjs/issues/2759 and even more recent https://github.com/ReactiveX/rxjs/issues/3290。
从评论来看,它似乎要到 RxJS 6 才能修复。
但是您始终可以使用 mergeMap(o => o)
/concatMap(o => o)
而不是 mergeAll()
/concatAll()
。
例如:
const o1: Observable<string[]> = of(['a', 'b', 'c']);
const o2: Observable<string> = o1.pipe(
mergeMap(o => o)
);
RxJS 5.5.6。我正在尝试将 Observable<string[]>
转换为 Observable<string>
我不确定 mergeAll
运算符是否是我要找的
const o1: Observable<string[]> = of(['a', 'b', 'c']);
const o2: Observable<string> = o1.pipe(
mergeAll()
);
Typescript 会 return 这个错误:
Type 'Observable<string | string[]>' is not assignable to type 'Observable<string>'.
Type 'string | string[]' is not assignable to type 'string'.
Type 'string[]' is not assignable to type 'string'.
我接收 Observable 作为参数,我可以改变构造方式。
您似乎遇到了已报告的 RxJS 问题,请参阅 https://github.com/ReactiveX/rxjs/issues/2759 and even more recent https://github.com/ReactiveX/rxjs/issues/3290。
从评论来看,它似乎要到 RxJS 6 才能修复。
但是您始终可以使用 mergeMap(o => o)
/concatMap(o => o)
而不是 mergeAll()
/concatAll()
。
例如:
const o1: Observable<string[]> = of(['a', 'b', 'c']);
const o2: Observable<string> = o1.pipe(
mergeMap(o => o)
);