Мне нужно вернуть значение из лямбда-выражения в функции провайдера Dagger2.
@Provides
@Reusable
internal fun getCloudKeys(): MyPath? {
Firebase.firestore.collection("myCollection").document("myPath").get().addOnCompleteListener {
val myPath = if (it.isSuccessful) it.result?.toObject(MyPath::class.java) else null
}
Итак, я хочу вернуть myPath
на getCloudKeys()
. Пожалуйста, есть ли способ сделать это? Я думал об использовании Kotlin Coroutine, чтобы где-то отложить myPath
, но я просто не мог найти способ обойти это (например, как я могу отменить работу после этого?). Пожалуйста, мне бы очень понравились некоторые идеи.