Как вернуть значение лямбда-выражения в функциях провайдера Dagger2? - PullRequest
0 голосов
/ 20 апреля 2019

Мне нужно вернуть значение из лямбда-выражения в функции провайдера 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, но я просто не мог найти способ обойти это (например, как я могу отменить работу после этого?). Пожалуйста, мне бы очень понравились некоторые идеи.

...