rxFlowable
@JvmOverloads fun <T> rxFlowable(
context: CoroutineContext = DefaultDispatcher,
block: suspend ProducerScope<T>.() -> Unit
): Flowable<T>Creates cold flowable that will run a given block in a coroutine.
Every time the returned flowable is subscribed, it starts a new coroutine.
Coroutine emits items with send. Unsubscribing cancels running coroutine.
Invocations of send are suspended appropriately when subscribers apply back-pressure and to ensure that
onNext is not invoked concurrently.
| Coroutine action | Signal to subscriber |
|---|---|
send |
onNext |
Normal completion or close without cause |
onComplete |
Failure with exception or close with cause |
onError |
The context for the new coroutine can be explicitly specified.
See CoroutineDispatcher for the standard context implementations that are provided by kotlinx.coroutines.
The context of the parent coroutine from its scope may be used,
in which case the Job of the resulting coroutine is a child of the job of the parent coroutine.
If the context does not have any dispatcher nor any other ContinuationInterceptor, then DefaultDispatcher is used.
Parameters
context - context of the coroutine. The default value is DefaultDispatcher.
block - the coroutine code.