Как сделать ParseQuery для каждого элемента в списке ParseObjects - PullRequest
0 голосов
/ 11 июня 2019

Я хочу сделать вызов ParseAPI в Kotlin, где ввод - List<ParseObject>, а вывод - обновление MutableList<CustomObject>, где CustomObject - класс данных, содержащий ParseObject и Int. Я могу сделать что-то вроде этого:

var newItems = mutableListOf<CustomObject>()
items.forEach{
//do query on relation column of item
//inside query.findInBackground -> (if error == null) add item to newItems
}

Но мне нужно вызвать функцию обратного вызова, когда новый список будет завершен. Мне нужно что-то вроде функции ожидания для этого вызова. Потому что мне нужно дождаться окончания обратных вызовов для каждого элемента, а затем вернуть результаты в Activity.

Это означает, что функция для запроса определяется следующим образом:

fun getCurrentItems(c: Context, items: List<ParseObject>, callback:(MutableList<CustomObject>) -> Unit)

Если все пункты были проверены, я просто хочу позвонить:

callback(newItems)
...