withLatestFrom<T, R>(...args: any[]): OperatorFunction<T, R>
| args | Tipo: any[]. |
OperatorFunction<T, R>: Un Observable de valores proyectados de cada Observable input, o un array de los valores más recientes de cada Observable input.
Cuando el Observable fuente emite un valor, combina dicho valor con las emisiones más recientes de los demás Observables, y emite el resultado de dicha combinación.
withLatestFrom combina cada valor del Observable fuente (la instancia) con los valores más recientes de los demás Observables cada vez que la fuente emite un valor. Opcionalmente, se puede utilizar una función de proyección para determinar el valor que se emite en el Observable resultante. Todos los Observables input deben emitir al menos un valor para que el Observable resultante pueda emitir.
Combinar cada tecla pulsada con un Observable intervalo, para saber en qué momento se pulsa cada tecla
import { fromEvent, interval } from "rxjs";
import { withLatestFrom, map } from "rxjs/operators";
const key$ =
fromEvent <
KeyboardEvent >
(document, "keydown").pipe(map(({ code }) => code));
const number$ = interval(1000);
key$
.pipe(
withLatestFrom(number$),
map(([code, time]) => `Tecla ${code} pulsada a los ${time} segundos`)
)
.subscribe((x) => console.log(x));
// Salida: (2s) Tecla KeyR pulsada a los 2 segundos (1s) Tecla KeyX pulsada a los 3 segundos...
Emitir un array con el temporizador más reciente más el evento click, en cada click
import { fromEvent, interval } from "rxjs";
import { withLatestFrom } from "rxjs/operators";
const clicks = fromEvent(document, "click");
const timer = interval(1000);
const result = clicks.pipe(withLatestFrom(timer));
result.subscribe((x) => console.log(x));
withLatestFrom(project: (v1: T) => R): OperatorFunction<T, R>
| project | Tipo: (v1: T) => R. |
OperatorFunction<T, R>
withLatestFrom(source2: O2, project: (v1: T, v2: ObservedValueOf<O2>) => R): OperatorFunction<T, R>
| v2 | Tipo: O2. |
| project | Tipo: (v1: T, v2: ObservedValueOf) => R. |
OperatorFunction<T, R>
withLatestFrom(v2: O2, v3: O3, project: (v1: T, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>) => R): OperatorFunction<T, R>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| project | Tipo: (v1: T, v2: ObservedValueOf, v3: ObservedValueOf) => R. |
OperatorFunction<T, R>
withLatestFrom(v2: O2, v3: O3, v4: O4, project: (v1: T, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>, v4: ObservedValueOf<O4>) => R): OperatorFunction<T, R>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| v4 | Tipo: O4. |
| project | Tipo: (v1: T, v2: ObservedValueOf, v3: ObservedValueOf, v4: ObservedValueOf) => R. |
OperatorFunction<T, R>
withLatestFrom(v2: O2, v3: O3, v4: O4, v5: O5, project: (v1: T, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>, v4: ObservedValueOf<O4>, v5: ObservedValueOf<O5>) => R): OperatorFunction<T, R>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| v4 | Tipo: O4. |
| v5 | Tipo: O5. |
| project | Tipo: (v1: T, v2: ObservedValueOf, v3: ObservedValueOf, v4: ObservedValueOf, v5: ObservedValueOf) => R. |
OperatorFunction<T, R>
withLatestFrom(v2: O2, v3: O3, v4: O4, v5: O5, v6: O6, project: (v1: T, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>, v4: ObservedValueOf<O4>, v5: ObservedValueOf<O5>, v6: ObservedValueOf<O6>) => R): OperatorFunction<T, R>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| v4 | Tipo: O4. |
| v5 | Tipo: O5. |
| v6 | Tipo: O6. |
| project | Tipo: (v1: T, v2: ObservedValueOf, v3: ObservedValueOf, v4: ObservedValueOf, v5: ObservedValueOf, v6: ObservedValueOf) => R. |
OperatorFunction<T, R>
withLatestFrom(source2: O2): OperatorFunction<T, [T, ObservedValueOf<O2>]>
| source2 | Tipo: O2. |
OperatorFunction<T, [T, ObservedValueOf<O2>]>
withLatestFrom(v2: O2, v3: O3): OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>]>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>]>
withLatestFrom(v2: O2, v3: O3, v4: O4): OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>]>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| v4 | Tipo: O4. |
OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>]>
withLatestFrom(v2: O2, v3: O3, v4: O4, v5: O5): OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>]>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| v4 | Tipo: O4. |
| v5 | Tipo: O5. |
OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>]>
withLatestFrom(v2: O2, v3: O3, v4: O4, v5: O5, v6: O6): OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>, ObservedValueOf<O6>]>
| v2 | Tipo: O2. |
| v3 | Tipo: O3. |
| v4 | Tipo: O4. |
| v5 | Tipo: O5. |
| v6 | Tipo: O6. |
OperatorFunction<T, [T, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>, ObservedValueOf<O6>]>
withLatestFrom(...observables: any[]): OperatorFunction<T, R>
| observables | Tipo: any[]. |
OperatorFunction<T, R>
withLatestFrom(array: any[]): OperatorFunction<T, R>
| array | Tipo: any[]. |
OperatorFunction<T, R>
withLatestFrom(array: any[], project: (...values: any[]) => R): OperatorFunction<T, R>
| array | Tipo: any[]. |
| project | Tipo: (...values: any[]) => R. |
OperatorFunction<T, R>
Documentación oficial en inglés