Код неверен, потому что ваш контекст сопрограммы выполняется в главном потоке с этим ключевым словом Dispatchers.Main
при инициализации контекста сопрограммы. Если вы хотите выполнять вызовы API, пожалуйста, измените на Dispatchers.IO
.
Я предполагаю, что api.fetchOrders()
не может быть запущен в главном потоке. Кроме того, вам нужно дождаться ответа с ключевым словом .await()
:
val yourData = api.fetchOrders().await()
, который вернет то, что находится внутри вашего Deferred
типа. Например, если это Deferred<ArrayList>
, он возвращает ArrayList после вызова метода await()
.
Примечание .
Если вы вызываете это await () в контексте этой сопрограммы, я полагаю, что у вас должна появиться ошибка, подобная NetworkOnMainThreadException