сопрограммы kotlin получают ошибку при возврате изнутри coroutineScope - PullRequest
0 голосов
/ 01 июля 2019

с функцией, которая сначала получает данные из базы данных, а если данные хороши, затем возвращается без дальнейшей выборки.

После изменения его на suspend и добавления coroutineScope он начинает выдавать ошибку компилятора, что return is not allowed here

как сделать возврат или complete изнутри coroutineScope?

 override suspend fun doFetch() {

    coroutineScope { 
        // is data from database is good enough then need to fetch from remote
        val isDataFresh = loadDataFromDatabase() 
            if (isDataFresh) return . //<=== the comipler error "return is not allowed here"
        }

        // otherwise fetching from remote
        // ... ... ...
    }
}
...