Hello, I’m trying to do something like this: ```fu...
# ktor
c
Hello, I’m trying to do something like this:
Copy code
fun fetchAvailableLanguages(): List<String> {
        val url = createLanguagesJsonUrl()
        lateinit var availableLangs: List<String>

        GlobalScope.launch {
            try {
                var response = restClient.get(url).await()
                println("Resp: $response")
                val list = json.parse(LanguageData.serializer(), response.readText())
                availableLangs = list.languagesAvailable
            } catch (t: Throwable) {
                //Errors.FETCH_AVAILABLE_LANGUAGES, Errors.AVAILABLE_LANGUAGES_NOT_FOUND
                println("Error: ${t.message}")
            }
        }
        
        return availableLangs
    }
But the problem is that
availableLang
that should be initialized on the
restClient.get()
call, is not. Actually, even though I put the
await()
it is not even awaiting for anything. My
restClient.get
looks like this:
Copy code
suspend fun get(url: String): Deferred<HttpResponse> =
        GlobalScope.async {
            suspend fun clientGet(): HttpResponse = client.get {
                url(url)
                accept(ContentType.Application.Json)
            }
                clientGet()
        }
Anyone know how can I make it really wait for my call? Thanks