Я пытаюсь получить данные из базы данных номеров, используя async & await
внутри Coroutine Scope
, но при возврате значения возникают проблемы.
Вот мой код:
fun getUserFromDB():Profile {
val profileDao = AppDatabase.getDatabase(context).getProfileDao()
CoroutineScope(Dispatchers.IO).launch {
return profileDao.getUserProfile().await()
}
}
Дао:
@Query("SELECT * FROM PROFILE LIMIT 1")
suspend fun getUserProfile():Deferred<Profile>
Здесь я хочу вернуть userProfile из метода, но я не могу сделать это внутри области видимости, и он будет нулевым, если я вернусь извне Coroutine scope
.
Примечание. Я здесь не следую шаблону MVVM, а делаю простой пример.