如何立即从范围内取消Kotlin协程(返回)?]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何立即从范围内取消Kotlin协程(返回)?]相关的知识,希望对你有一定的参考价值。
在下面的代码中,当捕获到异常时,我想停止执行该范围。
GlobalScope.launch() { try { someFunctionThatThrows() } catch (exception: Exception) { // log cancel() // this is not stopping the coroutine and moreWork() is still executed } moreWork() }
cancel()
不会立即取消协程,而是将标志isActive
设置为false,这需要后续检查。
假设下面的代码,我想在捕获到异常时停止执行该范围。 GlobalScope.launch(){试试{someFunctionThatThrows()} catch(exception:Exception){...
答案
根据您启动的范围,有特殊的语法return@launch
,return@async
等
以上是关于如何立即从范围内取消Kotlin协程(返回)?]的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin Multiplatform Mobile:Ktor - 如何在 Kotlin Native(iOS)中取消活动协程(网络请求、后台工作)?
Kotlin 协程协程启动 ⑥ ( 协程生命周期状态 | 新创建 New | 活跃 Active | 完成中 Completing | 已完成 Completed | 取消中 | 已取消 )
Kotlin 协程协程启动 ⑥ ( 协程生命周期状态 | 新创建 New | 活跃 Active | 完成中 Completing | 已完成 Completed | 取消中 | 已取消 )