我正在尝试使用Fuel库异步调用某些Web服务,但是应用程序进程在处理完成之前退出。
使用sleep
延迟退出是愚蠢的,但是我找不到更好的方法。大多数示例显示Servlet或android应用中的Fuel使用情况。
这里是一个示例。我使用reqres来模拟长时间运行的服务调用。
import com.github.kittinunf.fuel.core.FuelManager
import com.github.kittinunf.fuel.httpGet
fun main(args: Array<String>) {
FuelManager.instance.baseHeaders = mapOf(
"User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
)
"https://reqres.in/api/users?delay=3".httpGet().responseString { _, _, result ->
result.fold(
{ str ->
println("success")
},
{ fuelError ->
println("got error: $fuelError")
})
}
Thread.sleep(5_000)
println("main finishes")
}
我应该研究协程式燃料的使用还是有更简单的方法?