我正在尝试使用Android kotlin中的Fuel库进行HTTP请求,并且想同步请求。但是我无法使用以下代码获取数据。有人知道为什么吗?或Fuel库没有同步功能?
val hoge = "https://xxxxx.com/id/1".httpGet().response()
println(String(hoge.third.component1()))
答案 0 :(得分:0)
燃料可以以同步方式执行请求。您的代码非常好,对我有用。
确保您的服务器正常运行,并且如果您在android上,则已向AndroidManifest.xml
添加了必要的权限。
<uses-permission android:name="android.permission.INTERNET" />
除此之外,您的代码可以得到改进。请注意,response()
类的Request
方法将使您ByteArray
。如果您需要字符串,则应使用:
"https://xxxxx.com/id/1".httpGet().responseString()
println(hoge.third.component1())
Fuel库的最新版本使您可以使用Kotlin协程以更好的方式进行操作。您可以将函数标记为暂停并调用awaitString()
。在获得响应之前,该线程将被阻塞。
"https://xxxxx.com/id/1".httpGet().awaitString()
println(hoge)