我有一个带有 Fuel.post 的函数,它在结束之前返回一个值 Fuel.post 这是代码...
var res = rs.requestLogin("user", "password")
和我的功能
fun requestLogin(user : String, pass : String) : String {
var res = ""
val _params = HashMap<String, String>()
_params.put("user", user)
_params.put("pass", pass)
Fuel.post(Constantes.ENDPOINT_LOGIN, _params.toList())
.responseString(Charset.forName("UTF8")){ request, response, result ->
when (result) {
is Result.Success -> {
res = "0"
}
is Result.Failure ->{
res = "-1"
}
}
}
return res
}
我使用这个库:https://github.com/kittinunf/Fuel
如何在结尾返回 res 值 Fuel.post?
显然,您正在使用该调用的异步版本。通过将lambda传递给responseString()
,您告诉它您希望该代码在将来某个时间点异步返回时处理响应。
我怀疑如果您使用阻止版本,您可能会得到您想要的结果。
完全未经尝试的代码:
val (request, response, result) = Fuel.post(Constantes.ENDPOINT_LOGIN, _params.toList())
.responseString()
return if(result == Result.Success) "0" else "-1"