Kotlin Coroutines Как получить CoroutineScope для текущей темы? - PullRequest
0 голосов
/ 19 июня 2019

В 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 голосов
/ 19 июня 2019

Вы можете сохранить ссылку на область действия Coroutines, используя

val scope = CoroutineScope(Dispatchers.Default)

, а затем использовать ее как

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

Обновление из комментариев:

если вы звоните на myFunction() из основного потока, вы можете сделать что-то вроде этого

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

        }
    }
...