Функция в возвратном значении kotlin перед концами Fuel.post

У меня есть функция с 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 } 

Я использую эту lib: https://github.com/kittinunf/Fuel
Как я могу вернуть значение res при завершении Fuel.post?

Очевидно, вы используете асинхронную версию этого вызова. Передавая эту лямбду на responseString() , вы говорите, что хотите, чтобы этот код обрабатывал ответ, если и когда он вернется в какой-то момент в будущем, асинхронно.

Я подозреваю, что если вы используете блокирующую версию , вы можете получить результат, который вам нужен.

Итоговый код:

 val (request, response, result) = Fuel.post(Constantes.ENDPOINT_LOGIN, _params.toList()) .responseString() return if(result == Result.Success) "0" else "-1"