Skip to content

Latest commit

 

History

History
96 lines (77 loc) · 3.02 KB

zipproto.md

File metadata and controls

96 lines (77 loc) · 3.02 KB

Rx.Observable.prototype.zip(...args, [resultSelector])

Merges the specified observable sequences or Promises into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index.

The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the sources.

Arguments

  1. args (Arguments | Array): Arguments or an array of observable sequences.
  2. [resultSelector] (Any): Function to invoke for each series of elements at corresponding indexes in the sources, used only if the first parameter is not an array.

Returns

(Observable): An observable sequence containing the result of combining elements of the sources using the specified result selector function.

Example

/* Using arguments */
var range = Rx.Observable.range(0, 5);

var source = range.zip(
    range.skip(1),
    range.skip(2),
    function (s1, s2, s3) {
        return s1 + ':' + s2 + ':' + s3;
    }
);

var subscription = source.subscribe(
    function (x) {
        console.log('Next: ' + x);
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

// => Next: 0:1:2
// => Next: 1:2:3
// => Next: 2:3:4
// => Completed

/* Using an array */
var array = [3, 4, 5];

var source = Rx.Observable.range(0, 3)
    .zip(
        array,
        function (s1, s2) {
            return s1 + ':' + s2;
        });

var subscription = source.subscribe(
    function (x) {
        console.log('Next: ' + x);
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

// => Next: 0:3
// => Next: 1:4
// => Next: 2:5
// => Completed

Location

File:

Dist:

Prerequisites:

  • None

NPM Packages:

NuGet Packages:

Unit Tests: