Generic Instance Method


Subscribes to two additional publishers and invokes a closure upon receiving output from any of the publishers.


func combineLatest<P, Q, T>(_ publisher1: P, _ publisher2: Q, _ transform: @escaping (Never, P.Output, Q.Output) -> T) -> Publishers.Map<Publishers.CombineLatest3<Publishers.IgnoreOutput<Upstream>, P, Q>, T> where P : Publisher, Q : Publisher, Self.Failure == P.Failure, P.Failure == Q.Failure



A second publisher to combine with this one.


A third publisher to combine with this one.


A closure that receives the most recent value from each publisher and returns a new value to publish.

Return Value

A publisher that receives and combines elements from this publisher and two other publishers.


The combined publisher passes through any requests to all upstream publishers. However, it still obeys the demand-fulfilling rule of only sending the request amount downstream. If the demand isn’t unlimited, it drops values from upstream publishers. It implements this by using a buffer size of 1 for each upstream, and holds the most recent value in each buffer. All upstream publishers need to complete normally for this publisher to complete. If any of the combined publishers terminates with a failure, this publisher also fails. If an upstream publisher never publishes a value, this publisher neither produces any elements nor signals that publishing has completed.