Instance Method

collect(_:)

Collects up to the specified number of elements, and then emits a single array of the collection.

Declaration

func collect(_ count: Int) -> Publishers.CollectByCount<Publishers.Map<Upstream, Output>>

Parameters

count

The maximum number of received elements to buffer before publishing.

Return Value

A publisher that collects up to the specified number of elements, and then publishes them as an array.

Discussion

If the upstream publisher finishes before filling the buffer, this publisher sends an array of all the items it has received. This may be fewer than count elements. If the upstream publisher fails with an error, this publisher forwards the error to the downstream receiver instead of sending its output. Note: When this publisher receives a request for .max(n) elements, it requests .max(count * n) from the upstream publisher.