gpt4 book ai didi

javascript - 将 observables 的 observables 数组转换为 observables rxjs 数组

转载 作者:行者123 更新时间:2023-12-02 21:25:04 28 4
gpt4 key购买 nike

为了简化问题,我在这里使用了数字和字符串。代码:

const numbers$:Observable<number[]> = of([1,2,3]);
const strings: string[] = ["a","b"];

function getStrings(): Observable<string>[]{
return numbers$.pipe(
map((numbers: number[]) => {
const strings$: Observable<string>[] = strings.map(s => of(s));
return strings$;
}),
)
}

getStrings().subscribe(x => console.log(x))

我收到的错误是: Type 'Observable<Observable<string>[]>' is missing the following properties from type 'Observable<string>[]我怎样才能得到Observable<string>[]来自getStrings功能?我尝试过使用 flatMap、switchMap 但无法得到完美的组合。

Stackblitz

最佳答案

您需要使用 mergeMap()forkJoin():

function getStrings(): Observable<string[]>{
return numbers$.pipe(
mergeMap((numbers: number[]) => {
const strings$: Observable<string>[] = strings.map(s => of(s));
return forkJoin(strings$);
}),
)
}

getStrings().subscribe(x => console.log(x))

https://stackblitz.com/edit/rxjs-dzvsbh?file=index.ts

关于javascript - 将 observables 的 observables 数组转换为 observables rxjs 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60759998/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com