Передайте обратный вызов в качестве аргумента, например,
createRoute(newRoute: RouteToSend, callback: CreateRouteListener)
с
interface CreateRouteListener {
fun onFailure()
fun onResponse(response: String)
}
и вызовите соответствующий метод, когда завершится асинхронный c процесс:
override fun onFailure(call: Call<Message>, t: Throwable) {
Log.e(TAG, t.message!!)
callback.onFailure()
}
override fun onResponse(call: Call<Message>, response: Response<Message>) {
response.body()?.let {
responseMessage = it.message
callback.onResponse(responseMessage)
}
}
Вызов createRoute
будет выглядеть следующим образом:
createRoute(RouteToSend(), object: CreateRouteListener {
override fun onFailure() {
// handle failure
}
override fun onResponse(response: String) {
// handle response
}
}