gpt4 book ai didi

kotlin - 是否可以暂停协程并超时?

转载 作者:行者123 更新时间:2023-12-02 11:23:20 29 4
gpt4 key购买 nike

我想要的是这样的功能:

suspendCoroutineWithTimeout(timeout: Long, unit: TimeUnit, crossinline block: (Continuation<T>) -> Unit)

这与现有的 suspendCoroutine 基本相同函数,但如果块中提供的回调或任何内容在指定的超时时间内没有被调用,则协程将继续,但会出现 TimeoutException 或类似的情况。

最佳答案

您可以组合 withTimeoutsuspendCancellableCoroutine以一种直接的方式获得所需的效果:

suspend inline fun <T> suspendCoroutineWithTimeout(
timeout: Long, unit: TimeUnit,
crossinline block: (Continuation<T>) -> Unit
) = withTimeout(timeout, unit) {
suspendCancellableCoroutine(block = block)
}

关于kotlin - 是否可以暂停协程并超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48974369/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com