Kotlin Android порядок выполнения кода

На картинке выделено присвоение главное и возвращение

У меня есть функция, которая возвращает значение info, но происходит так, что возвращается info="", сначала идет блок вне when, а потом всередине, как это исправить?


Ответы (1 шт):

Автор решения: Eugene Krivenja

Я вижу самый простой способ это переделать функцию readRoom() в асинхронную

fun readRoom(_room: String, onSuccess: (String) -> Unit) {
    val infoAboutRoom = ...
    infoAboutRoom. ... .addOnSuccessListener {
        val info = when(...) {
            ...
        }
        onSuccess(info)
    }
    Log.d(...)
}
→ Ссылка