如何在Kotlin JVM控制台应用程序中异步使用燃料

时间:2018-07-29 10:25:42

标签: kotlin jvm

我正在尝试使用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")
    }

我应该研究协程式燃料的使用还是有更简单的方法?

0 个答案:

没有答案