Completion Handler Android Kotlin

Lo siento si esta pregunta se ha realizado anteriormente, realmente no pude encontrar nada ni siquiera simillar! También lo siento si la pregunta es tonta, soy un desarrollador de iOS y estoy un poco perdido aquí en Android …

Así que estoy usando Fuel Library ( https://github.com/kittinunf/Fuel ) para OBTENER datos de JSON desde una API … En Swift hay algo llamado controller de finalización que cada vez que la function termina, la devuelve y ejecute inmediatamente el código dentro de él. Este es un ejemplo de ello en Swift:

func hardProcessingWithString(input: String, completion: (result: String) -> Void) { ... completion("we finished!") } 

Lo que necesito es hacer algo similar con esta siguiente function que tengo en Kotlin.

 fun recomendationsData() { Fuel.get("https://rss.itunes.apple.com/api/v1/us/apple-music/hot-tracks/10/explicit.json").response { request, response, result -> println(request) println(response) val (bytes, error) = result if (bytes != null) { val str = String(bytes) val obj = JSONObject(str) val resultsP = obj.getJSONObject("feed") val results = resultsP.getJSONArray("results") for (i in 0..(results.length() - 1)) { val o = results.getJSONObject(i) trackName1.add(o.getString("name")) trackArtist1.add(o.getString("artistName")) trackImage1.add(o.getString("artworkUrl100")) } } } } 

He leído sobre algo llamado "callback", pero realmente no entiendo cómo funciona, ni cómo implementarlo (la tarea debe hacerse de forma asincrónica).

¡De nuevo, muchas gracias!

Saludos