Generic Instance Method

zip(_:)

Combine elements from another publisher and deliver pairs of elements as tuples.

Declaration

func zip<P>(_ other: P) -> Publishers.Zip<Publishers.Share<Upstream>, P> where P : Publisher, Self.Failure == P.Failure

Parameters

other

Another publisher.

Return Value

A publisher that emits pairs of elements from the upstream publishers as tuples.

Discussion

The returned publisher waits until both publishers have emitted an event, then delivers the oldest unconsumed event from each publisher together as a tuple to the subscriber. For example, if publisher P1 emits elements a and b, and publisher P2 emits event c, the zip publisher emits the tuple (a, c). It won’t emit a tuple with event b until P2 emits another event. If either upstream publisher finishes successfuly or fails with an error, the zipped publisher does the same.