Generic Instance Method

reduce(_:_:)

Applies a closure that accumulates each element of a stream and publishes a final result upon completion.

Declaration

func reduce<T>(_ initialResult: T, _ nextPartialResult: @escaping (T, Upstream.Output) -> T) -> Publishers.Reduce<Publishers.Multicast<Upstream, SubjectType>, T>

Parameters

initialResult

The value the closure receives the first time it is called.

nextPartialResult

A closure that takes the previously-accumulated value and the next element from the upstream publisher to produce a new value.

Return Value

A publisher that applies the closure to all received elements and produces an accumulated value when the upstream publisher finishes.