如何确定 FlowCollector 是否已关闭?

How can determine if FlowCollector is closed?

请检查下面的代码,它代表周期性流量。

import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.time.delay

fun Duration.asFlow(): Flow<Unit> {
    val delayTime = this

    return flow {
        do {
            emit(Unit)

            delay(delayTime)
        } while (true)
    }
}

问题:我靠,那个flow下的功能会在流程结束后取消吗?

如果下游运营商之一取消您的流程,您的流程将被取消。如果操作员试图消耗整个流,则它不会在没有干预的情况下完成。