rxjs / 7.5.5 / api / index / function / zip.html /

zip

function stable

zip<A extends readonly, unknown>()

Parameters

There are no parameters.

Overloads

zip()

Parameters

There are no parameters.

zip()

Parameters

There are no parameters.

zip()

Parameters

There are no parameters.

zip(...args: unknown[]): Observable<unknown>

Combines multiple Observables to create an Observable whose values are calculated from the values, in order, of each of its input Observables.

Parameters

args unknown[]

Returns

Observable<unknown>:

If the last parameter is a function, this function is used to compute the created value from the input values. Otherwise, an array of the input values is returned.

Example

Combine age and name from different sources

import { of, zip, map } from 'rxjs';

const age$ = of(27, 25, 29);
const name$ = of('Foo', 'Bar', 'Beer');
const isDev$ = of(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 }

© 2015–2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/index/function/zip