Ah yes this is correct — if you make any blocking I/O like Call.execute() you will need to switch to a dispatcher optimized for network I/O such as
In the next release of Retrofit2,
suspend functions will be supported directly on service methods.
Today, the best stable release option for integrating retrofit with coroutines is to use the
retrofit2-kotlin-coroutine-adapter which allows you to use
Deferred as a service method result. If you don’t want a dependency you can also use
suspendCancellableCoroutine to create an extension function on
await() that uses enqueue internally.