Lilly
01/11/2021, 4:13 AMAdam Powell
01/11/2021, 4:16 AMAdam Powell
01/11/2021, 4:17 AMLilly
01/11/2021, 9:20 PMAdam Powell
01/12/2021, 12:43 AM@Composable fun <T> produceDelayed(value: T, delayMillis: Long): State<T> {
val ch = remember { Channel<T>(Channel.CONFLATED) }
SideEffect {
ch.offer(value)
}
return produceState(value) {
for (item in ch) {
this.value = item
delay(delayMillis)
}
}
}
Adam Powell
01/12/2021, 12:46 AMdelayMillis
after producing every new value. You can use a receiveAsFlow()
and a series of operators with a channel with a buffer if you want more complex behaviorLilly
01/18/2021, 10:58 PM