```fun <T> Flow<T>.delayFirst( tim...
# coroutines
m
Copy code
fun <T> Flow<T>.delayFirst(
    time: Long,
    timeUnit: TimeUnit = TimeUnit.MILLISECONDS
): Flow<T> {
    return flow {
        val isFirst = AtomicReference(true)

        collect { value ->
            if (isFirst.getAndSet(false)) {
                delay(timeUnit.toMillis(time))
            }
            emit(value)
        }
    }
}