【问题标题】:function inside coroutine scope is not cancelled协程范围内的函数未取消
【发布时间】: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()
    }

【问题讨论】:

    标签: kotlin kotlin-coroutines


    【解决方案1】:

    我终于明白了。主协程在“coroutineScope”调用时暂停,这就是为什么

    【讨论】:

      猜你喜欢
      • 2021-04-22
      • 2021-02-01
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      相关资源
      最近更新 更多