第一件商品到货后立即发货,后续商品进行退抖处理

Kir*_*ach 4 kotlin kotlin-coroutines kotlin-flow

这个问题与thisthis相同,但是关于Kotlin流程。

需要实现什么:

  • 第一件商品一到就交付
  • 按照去抖动功能的工作方式对以下所有项目进行去抖动

Kir*_*ach 5

有一个简单的动态去抖超时解决方案:

var firstEmission = true
flow.debounce {
    if (firstEmission) {
        firstEmission = false
        0L
    } else DEBOUNCE_TIMEOUT
}
Run Code Online (Sandbox Code Playgroud)

也可以这样做:

merge(
    flow.take(1),
    flow.drop(1).debounce(DEBOUNCE_TIMEOUT)
)
Run Code Online (Sandbox Code Playgroud)