[英]function inside coroutine scope is not cancelled
試圖掌握協程。 我期望這段代碼不應該打印任何東西。 但是,它打印“工作完成”,所以取消沒有做任何事情。 怎么會這樣?
suspend fun foo() = coroutineScope {
launch { doSomeWork() }
}
suspend fun doSomeWork() {
delay(10000)
println("Work done")
}
suspend fun main() {
val fooResult = foo()
fooResult.cancel()
}
我終於明白了。 主協程在“coroutineScope”調用時暫停,這就是為什么
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.