簡體   English   中英

協程 scope 內的 function 未取消

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM