"RxMarbles -mergeMap" (https://link.segmentfault.com/?enc=ek0nAtXekGafUqjJ3ho4jA%3D%3D.Lr3QZUaUkPJ9PjgYbQMiu0yisv9ROXaJwVVgKcnY6nQ%3D)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250113/b94a425f5e8af164869992d29d309015.png)
import { of, map, mergeMap } from "npm:rxjs@latest";
of("A", "B", "C")
.pipe(mergeMap((x) => of(1, 2, 3).pipe(map((y) => `${x}${y}`))))
.subscribe(console.log);
将输出:
A1
A2
A3
B1
B2
B3
C1
C2
C3
"of("A", "B", "C")" 将输出一个流
flowchart LR
s((start))
n1[A]
n2[B]
n3[C]
e((end))
s-->n1-->n2-->n3-->e
«"mergeMap"
将源Observable发出的每个值“映射”到一个新的Observable上,并将这些新Observable发出的值“扁平化”地合并回一个单独的Observable中。»
当源发出值 A 时,"mergeMap" 将它映射为
flowchart LR
s((start))
n1[A1]
n2[A2]
n3[A3]
e((end))
s-->n1-->n2-->n3-->e
源的三个输出将被映射为三个 Observable,并被 "mergeMap" 扁平化为一个 Observable