RxJS zip
组合多个 Observable 来创建一个 Observable,其值是根据每个值的顺序来计算的 输入的 Observables。
zip<O extends ObservableInput
<any>, R>(...observables: (O | ((...values:ObservedValueOf
<O>[]) => R))[]): Observable
<ObservedValueOf
<O>[] | R>
参量
可观察的 | 类型: `(O | ((...values: ObservedValueOf[]) => R))[]`。 |
---|---|---|
returns
Observable<ObservedValueOf<O>[] | R>
:
描述
如果最后一个参数是一个函数,则此函数用于从输入值中计算创建的值。 否则,将返回输入值的数组。
例
结合不同来源的年龄和姓名
import { zip, of } from 'rxjs';
import { map } from 'rxjs/operators';
let age$ = of<number>(27, 25, 29);
let name$ = of<string>('Foo', 'Bar', 'Beer');
let isDev$ = of<boolean>(true, true, false);
zip(age$, name$, isDev$).pipe(
map(([age, name, isDev]) => ({ age, name, isDev })),
)
.subscribe(x => console.log(x));
// outputs
// { age: 27, name: 'Foo', isDev: true }
// { age: 25, name: 'Bar', isDev: true }
// { age: 29, name: 'Beer', isDev: false }
超载
zip(v1: O1, resultSelector: (v1: ObservedValueOf<O1>) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型: O1 |
resultSelector | 类型: (v1: ObservedValueOf) => R 。 |
returns Observable<R>
zip(v1: O1, v2: O2, resultSelector: (v1: ObservedValueOf<O1>, v2: ObservedValueOf<O2>) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
resultSelector | 类型:(v1: ObservedValueOf, v2: ObservedValueOf) => R |
returns Observable<R>
zip(v1: O1, v2: O2, v3: O3, resultSelector: (v1: ObservedValueOf<O1>, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
resultSelector | 类型: (v1: ObservedValueOf, v2: ObservedValueOf, v3: ObservedValueOf) => R |
returns Observable<R>
zip(v1: O1, v2: O2, v3: O3, v4: O4, resultSelector: (v1: ObservedValueOf<O1>, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>, v4: ObservedValueOf<O4>) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
v4 | 类型: O4 |
resultSelector | 类型: (v1: ObservedValueOf, v2: ObservedValueOf, v3: ObservedValueOf, v4: ObservedValueOf) => R |
returns Observable<R>
zip(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, resultSelector: (v1: ObservedValueOf<O1>, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>, v4: ObservedValueOf<O4>, v5: ObservedValueOf<O5>) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
v4 | 类型: O4 |
v5 | 类型: O5 |
resultSelector | 类型: (v1: ObservedValueOf, v2: ObservedValueOf, v3: ObservedValueOf, v4: ObservedValueOf, v5: ObservedValueOf) => R |
returns Observable<R>
zip(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, v6: O6, resultSelector: (v1: ObservedValueOf<O1>, v2: ObservedValueOf<O2>, v3: ObservedValueOf<O3>, v4: ObservedValueOf<O4>, v5: ObservedValueOf<O5>, v6: ObservedValueOf<O6>) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
v4 | 类型: O4 |
v5 | 类型: O5 |
v6 | 类型: O6 |
resultSelector | 类型: (v1: ObservedValueOf, v2: ObservedValueOf, v3: ObservedValueOf, v4: ObservedValueOf, v5: ObservedValueOf, v6: ObservedValueOf) => R |
returns Observable<R>
zip(v1: O1, v2: O2): Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>]>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
returns Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>]>
zip(v1: O1, v2: O2, v3: O3): Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>]>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
returns Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>]>
zip(v1: O1, v2: O2, v3: O3, v4: O4): Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>]>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
v4 | 类型: O4 |
returns Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>]>
zip(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5): Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>]>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
v4 | 类型: O4 |
v5 | 类型: O5 |
returns Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>]>
zip(v1: O1, v2: O2, v3: O3, v4: O4, v5: O5, v6: O6): Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>, ObservedValueOf<O6>]>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
v2 | 类型:O2 |
v3 | 类型: O3 |
v4 | 类型: O4 |
v5 | 类型: O5 |
v6 | 类型: O6 |
returns Observable<[ObservedValueOf<O1>, ObservedValueOf<O2>, ObservedValueOf<O3>, ObservedValueOf<O4>, ObservedValueOf<O5>, ObservedValueOf<O6>]>
zip(array: O[]): Observable<ObservedValueOf<O>[]>
参量 | 类型 |
---|---|
数组 | 类型: O[] |
returns Observable<ObservedValueOf<O>[]>
zip(array: any[]): Observable<R>
参量 | 类型 |
---|---|
数组 | 类型: any[] |
returns Observable<R>
zip(array: O[], resultSelector: (...values: ObservedValueOf<O>[]) => R): Observable<R>
参量 | 类型 |
---|---|
数组 | 类型: O[] |
resultSelector | 类型: (...values: ObservedValueOf[]) => R 。 |
returns Observable<R>
zip(array: any[], resultSelector: (...values: any[]) => R): Observable<R>
参量 | 类型 |
---|---|
v1 | 类型:O1 |
数组 | 类型: any[] |
resultSelector | 类型: (...values: any[]) => R |
returns Observable<R>
zip(...observables: O[]): Observable<ObservedValueOf<O>[]>
参量 | 类型 |
---|---|
可观察的 | 类型: O[] |
returns Observable<ObservedValueOf<O>[]>
zip(...observables: (O ((...values: ObservedValueOf<O>[]) => R))[]): Observable<R>
参量 | 类型 |
---|---|
可观察的 | 类型: (O ((...values: ObservedValueOf[]) => R))[] |
returns Observable<R>
zip(...observables: any[]): Observable<R>
参量 | 类型 |
---|---|
可观察的 | 类型: any[] |
returns Observable<R>