İçeriğe geç

Suspend içinde bloklayan çağrı (ARCH8028)

Anahtar kotlin.async.blocking-call-in-suspend · Önem error · Kategori async

Suspend fonksiyonlar içindeki Thread.sleep, Future.get ve diğer iş parçacığı bloklayan çağrıları işaretler - askıya almak yerine dispatcher iş parçacığını dondururlar.

suspend fun poll() {
Thread.sleep(1000)
val v = future.get()
}
suspend fun poll() {
delay(1000)
val v = future.await()
}

delay(), await() kullanın ya da kaçınılmaz bloklayan IO’yu withContext(Dispatchers.IO) içine alın.