Comment corriger l'erreur "Inappropriate blocking method call" dans OkHttp et les coroutines Kotlin ?
Bonjour ! Je suis un développeur débutant en Kotlin et j'essaie d'effectuer une requête HTTP avec OkHttp à l'intérieur d'une coroutine. J'ai ce 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() // Erreur ici !
return response.body?.string() ?: ""
}
```
Mais le compilateur ou le linter (Detekt, IntelliJ IDEA) affiche un avertissement : "Inappropriate blocking method call". J'utilise les coroutines pour l'asynchronisme, mais la méthode `execute()` bloque le thread actuel. Comment faire correctement une requête HTTP dans une coroutine sans bloquer le thread ? J'ai entendu parler de `suspendCancellableCoroutine`, mais je ne comprends pas comment l'appliquer. J'utilise aussi
No answers yet.
Connectez-vous pour laisser une réponse