Wie behebe ich den Fehler "Inappropriate blocking method call" in OkHttp und Kotlin-Koroutinen?
Hallo! Ich bin ein Anfänger in Kotlin und versuche, eine HTTP-Anfrage mit OkHttp innerhalb einer Koroutine zu machen. Ich habe folgenden Code:
```kotlin
suspend fun fetchData(): String {
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.example.com/data")
.build()
val response = client.newCall(request).execute() // Hier ist der Fehler!
return response.body?.string() ?: ""
}
```
Aber der Compiler oder Linter (Detekt, IntelliJ IDEA) gibt eine Warnung aus: "Inappropriate blocking method call". Ich verwende Koroutinen für Asynchronität, aber die Methode `execute()` blockiert den aktuellen Thread. Wie mache ich eine HTTP-Anfrage in einer Koroutine richtig, ohne den Thread zu blockieren? Ich habe von `suspendCancellableCoroutine` gehört, verstehe aber nicht, wie ich es anwenden soll. Ich verwende auch
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen