Fuel работает в фоновом потоке, что означает, что функция возвращается до заполнения вашего массива.
Пример:
Вызов функции:
fun sendToAPI(context: Context, data: someData, f: () -> Unit)
Как вы можете видеть, при вызове функции мы передаем функцию в качестве параметра (f), это будет полезнопотом.
SomeURL.httpPost(formData)
.response { _, _, result -> result.fold(
success = {
// Save data in the array
// Runs function
f()
context.showToast("success")
},
failure = { error ->
context.showToast(error.message!!)
}
) }
По сути, в заявлении об успехе вы хотите сохранить свой массив. Вы можете сделать это разными способами, мне лично нравится иметь синглтон, в котором хранятся все мои данные (вы можете создать его с помощью объектаКлючевое слово в kotlin)
Затем мы запускаем функцию, переданную в качестве параметра, где вы хотите получить данные из синглтона и делать с ними все, что хотите.