В Android вы можете использовать расширение Kotlin await()
для сопрограмм, но в консольном приложении Kotlin мне нужно использовать addSnapshotListener
или .get().get()
для выполнения запроса.
Я пытался импортировать различные пакеты, чтобы получить awati()
, но он не работает:
implementation("com.google.cloud:google-cloud-firestore:1.33.0")
implementation("com.google.firebase:firebase-firestore-ktx:21.4.3")
implementation("com.google.firebase:firebase-common-ktx:19.3.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.3.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines:0.19.2")
Возможно ли это вообще в консольном приложении? Я заметил, что тип возврата для первого .get()
не Task<QuerySnapshot>
, как в Android, а ApiFuture<QuerySnapshot>
. Почему разница? Я что-то напортачил?