rxjs
Version:
Reactive Extensions for modern JavaScript
32 lines • 1.12 kB
TypeScript
import { OperatorFunction, ObservableInputTuple } from '../types';
/**
* Creates an Observable that mirrors the first source Observable to emit a next,
* error or complete notification from the combination of the Observable to which
* the operator is applied and supplied Observables.
*
* ## Example
*
* ```ts
* import { interval } from 'rxjs';
* import { mapTo, raceWith } from 'rxjs/operators';
*
* const obs1 = interval(1000).pipe(mapTo('fast one'));
* const obs2 = interval(3000).pipe(mapTo('medium one'));
* const obs3 = interval(5000).pipe(mapTo('slow one'));
*
* obs2.pipe(
* raceWith(obs3, obs1)
* ).subscribe(
* winner => console.log(winner)
* );
*
* // Outputs
* // a series of 'fast one'
* ```
*
* @param otherSources Sources used to race for which Observable emits first.
* @return A function that returns an Observable that mirrors the output of the
* first Observable to emit an item.
*/
export declare function raceWith<T, A extends readonly unknown[]>(...otherSources: [...ObservableInputTuple<A>]): OperatorFunction<T, T | A[number]>;
//# sourceMappingURL=raceWith.d.ts.map