【发布时间】:2020-05-16 10:34:55
【问题描述】:
试图掌握协程。我期望这段代码不应该打印任何东西。但是,它打印“工作完成”,所以取消没有做任何事情。怎么会这样?
suspend fun foo() = coroutineScope {
launch { doSomeWork() }
}
suspend fun doSomeWork() {
delay(10000)
println("Work done")
}
suspend fun main() {
val fooResult = foo()
fooResult.cancel()
}
【问题讨论】: