race

Retorna un Observable que refleja al primer Observable que emita un valor

Signatura

Firma

race<T>(...observables: any[]): Observable<T>

Parámetros

Retorna

Observable<T>: Un Observable que refleja las emisiones del primer Observable que emita un valor.

Descripción

Refleja las emisiones del primer Observable que emita un valor.

Ejemplos

Hacer una carrera con 3 Observables

StackBlitz

import { mapTo } from "rxjs/operators";
import { race, timer } from "rxjs";

const slow$ = timer(5000).pipe(mapTo("Caracol"));
const medium$ = timer(3000).pipe(mapTo("Gatito"));
const fast$ = timer(2000).pipe(mapTo("Guepardo"));

//
race(slow$, medium$, fast$).subscribe((winner) =>
  console.log(`Y el ganador es... ¡${winner}!`)
);
// Salida: Y el ganador es... ¡Guepardo!

Advertencia: Si alguno de los Observables lanza un error, la 'carrera' terminará con un error

StackBlitz

import { mapTo } from "rxjs/operators";
import { race, timer, throwError } from "rxjs";

const slow$ = timer(5000).pipe(mapTo("Caracol"));
const medium$ = timer(3000).pipe(mapTo("Gatito"));
const fast$ = timer(2000).pipe(mapTo("Guepardo"));

const error$ = throwError("¡Oh no!");

race(slow$, medium$, fast$, error$).subscribe(console.log, console.error);
// Salida: (error) ¡Oh no!

Ejemplo de la documentación oficial

Reflejar al primer Observable que emita un valor

import { race, interval } from "rxjs";
import { mapTo } from "rxjs/operators";

const obs1 = interval(1000).pipe(mapTo("Rápido"));
const obs2 = interval(3000).pipe(mapTo("Velocidad media"));
const obs3 = interval(5000).pipe(mapTo("Lento"));

race(obs3, obs1, obs2).subscribe((winner) => console.log(winner));

// Salida:
// Emite 'Rápido' cada segundo
Sobrecargas

Firma

race(arg: [any]): Observable<A>

Parámetros

Retorna

Observable<A>

Firma

race(arg: [any, any]): Observable<A | B>

Parámetros

Retorna

Observable<A | B>

Firma

race(arg: [any, any, any]): Observable<A | B | C>

Parámetros

Retorna

Observable<A | B | C>

Firma

race(arg: [any, any, any, any]): Observable<A | B | C | D>

Parámetros

Retorna

Observable<A | B | C | D>

Firma

race(arg: [any, any, any, any, any]): Observable<A | B | C | D | E>

Parámetros

Retorna

Observable<A | B | C | D | E>

Firma

race(arg: any[]): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

race(arg: any[]): Observable<{}>

Parámetros

Retorna

Observable<{}>

Firma

race(a: any): Observable<A>

Parámetros

Retorna

Observable<A>

Firma

race(a: any, b: any): Observable<A | B>

Parámetros

Retorna

Observable<A | B>

Firma

race(a: any, b: any, c: any): Observable<A | B | C>

Parámetros

Retorna

Observable<A | B | C>

Firma

race(a: any, b: any, c: any, d: any): Observable<A | B | C | D>

Parámetros

Retorna

Observable<A | B | C | D>

Firma

race(a: any, b: any, c: any, d: any, e: any): Observable<A | B | C | D | E>

Parámetros

Retorna

Observable<A | B | C | D | E>

Firma

race(observables: any[]): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

race(observables: any[]): Observable<{}>

Parámetros

Retorna

Observable<{}>

Firma

race(...observables: any[]): Observable<T>

Parámetros

Retorna

Observable<T>

Firma

race(...observables: any[]): Observable<{}>

Parámetros

Retorna

Observable<{}>

Recursos adicionales

Last updated