onStart
Returns a flow that invokes the given action before this flow starts to be collected.
The action is called before the upstream flow is started, so if it is used with a SharedFlow there is no guarantee that emissions from the upstream flow that happen inside or immediately after this onStart
action will be collected (see onSubscription for an alternative operator on shared flows).
The receiver of the action is FlowCollector, so onStart
can emit additional elements. For example:
flowOf("a", "b", "c")
.onStart { emit("Begin") }
.collect { println(it) } // prints Begin, a, b, c
Content copied to clipboard