第一个项目一到就交付,对以下项目进行去抖
Deliver the first item as soon as it comes, debounce the following items
这个问题和 and 一样,但是关于Kotlin流程。
需要达到的目标:
- 第一件商品一到就送[=18=]
- 按照去抖功能的工作方式对以下所有项目进行去抖
有动态去抖超时的简单解决方案:
var firstEmission = true
flow.debounce {
if (firstEmission) {
firstEmission = false
0L
} else DEBOUNCE_TIMEOUT
}
也可以这样做:
merge(
flow.take(1),
flow.drop(1).debounce(DEBOUNCE_TIMEOUT)
)
这个问题和
需要达到的目标:
- 第一件商品一到就送[=18=]
- 按照去抖功能的工作方式对以下所有项目进行去抖
有动态去抖超时的简单解决方案:
var firstEmission = true
flow.debounce {
if (firstEmission) {
firstEmission = false
0L
} else DEBOUNCE_TIMEOUT
}
也可以这样做:
merge(
flow.take(1),
flow.drop(1).debounce(DEBOUNCE_TIMEOUT)
)