- race
- 签名:
race(): Observable
- 签名:
- 使用首先发出值的 observable 。
- 示例
- 示例 1: 使用 4个 observables 进行 race
- 示例 2: 使用 error 进行 race
- 示例
- 其他资源
race
签名: race(): Observable
使用首先发出值的 observable 。

示例
示例 1: 使用 4个 observables 进行 race
( StackBlitz |
jsBin |
jsFiddle )
import { mapTo } from 'rxjs/operators';import { interval } from 'rxjs/observable/interval';import { race } from 'rxjs/observable/race';// 接收第一个发出值的 observableconst example = race(// 每1.5秒发出值interval(1500),// 每1秒发出值interval(1000).pipe(mapTo('1s won!')),// 每2秒发出值interval(2000),// 每2.5秒发出值interval(2500));// 输出: "1s won!"..."1s won!"...etcconst subscribe = example.subscribe(val => console.log(val));
示例 2: 使用 error 进行 race
( StackBlitz |
jsFiddle )
import { delay, map } from 'rxjs/operators';import { of } from 'rxjs/observable/of';import { race } from 'rxjs/observable/race';// 抛出错误并忽略其他的 observables 。const first = of('first').pipe(delay(100),map(_ => {throw 'error';}));const second = of('second').pipe(delay(200));const third = of('third').pipe(delay(300));race(first, second, third).subscribe(val => console.log(val));
其他资源
- race
- 官方文档
源码: https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/race.ts
