Kotlin Coroutines如何获取当前线程的CoroutineScope?

时间:2019-06-19 01:50:10

标签: kotlin kotlin-coroutines

在Kotlin Coroutines中,想要为当前线程创建一个引用,并在以后使用。

fun myFuncion(){
    //save current Thread CoroutineScope
    var currentCoroutineScope : CoroutineScope // <How to create?>
    GlobalScope.launch { 
        //Do something 001
        currentCoroutineScope .launch {
            //Do something 002

        }
    }
}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码保存对协程范围的引用

val scope = CoroutineScope(Dispatchers.Default)

然后您可以像使用它

fun myFuncion() {
    scope.launch {
        // do something
    }
}

评论更新:

如果您是从主线程调用myFunction(),则可以执行以下操作

fun myFuncion() {
        scope.launch {
            // do something
            withContext(Dispatchers.Main) { 
                //Do something 002
            }

        }
    }