connect
Crea un Observable al multidifundir el Observable fuente dentro de una función que permite al desarrollador definir el uso del multicast tras la conexión
Descripción
Ejemplo
import { of, tap, connect, merge, map, filter } from 'rxjs';
const source$ = of(1, 2, 3, 4, 5).pipe(
tap({
subscribe: () => console.log('suscripción empezada'),
next: n => console.log(`la fuente ha emitido ${ n }`)
})
);
source$.pipe(
// Aquí estamos uniendo 3 subscriptions a `shared$`.
connect(shared$ => merge(
shared$.pipe(map(n => `all ${ n }`)),
shared$.pipe(filter(n => n % 2 === 0), map(n => `par ${ n }`)),
shared$.pipe(filter(n => n % 2 === 1), map(n => `impar ${ n }`))
))
)
.subscribe(console.log);
// Salida esperada: (notice only one subscription)
'suscripción empezada'
'la fuente ha emitido 1'
'all 1'
'impar 1'
'la fuente ha emitido 2'
'all 2'
'par 2'
'la fuente ha emitido 3'
'all 3'
'impar 3'
'la fuente ha emitido 4'
'all 4'
'par 4'
'la fuente ha emitido 5'
'all 5'
'impar 5'Last updated