first Of
suspend fun <T> CoroutineScope.firstOf(variants: Iterable<Deferred<T>>, cancelOnResult: Boolean = true): T(source)
suspend fun <T> CoroutineScope.firstOf(vararg variants: Deferred<T>, cancelOnResult: Boolean = true): T(source)
Returns the value of the first Deferred from the given variants to complete. Other deferred values are cancelled if cancelOnResult is true.
Return
The value of the first completed deferred
Parameters
variants
The deferred values to race
cancel On Result
If true, cancels all other deferred values after the first completes. Defaults to true
Type Parameters
T
The type of the deferred values
suspend fun <T> CoroutineScope.firstOf(cancelOnResult: Boolean = true, block: DoWithFirstBuilder<T>.() -> Unit): T(source)
Builds multiple deferred computations using DoWithFirstBuilder and returns the value of the first one to complete. Other deferred computations are cancelled if cancelOnResult is true.
Return
The value of the first completed computation
Parameters
cancel On Result
If true, cancels all other computations after the first completes. Defaults to true
block
Builder DSL to define the deferred computations
Type Parameters
T
The type of the deferred values