У меня есть функция с именем doReq, она будет выполнять JsonObjectRequest, и в случае успеха мне нужно, чтобы она выполнила именованную функцию, которую я передаю с ответом об успешном завершении запроса. Пожалуйста, взгляните на код ниже:
package mypackage1
fun reqSuccess(resp: JSONObject) {
}
package mypackage2
fun doReq(url: String, how do i pass in reqSuccess function here?) {
val req: JsonObjectRequest = object : JsonObjectRequest(Request.Method.POST, url, json,
Response.Listener { response ->
// need to perform reqSuccess here passing in response
},
Response.ErrorListener { error ->
}
)
}
Дополнительное примечание: doReq будет вызываться в других пакетах, и каждый пакет имеет свою собственную функцию reqSuccess. Хорошо, теперь правильно,
package mypackage2
fun doReq(url: String, onSuccess: (response: JSONObject) -> Unit) {
val req: JsonObjectRequest = object : JsonObjectRequest(Request.Method.POST, url, json,
Response.Listener { response ->
onSuccess(response)
},
Response.ErrorListener { error ->
}
)
}
package mypackage1
fun reqSuccess(resp: JSONObject) {
}
doReg("someurl",::reqSuccess)