Задержка при получении данных из сети


#1

У меня есть функция с escaping closure, которая получает данные по одному URL и парсит их.

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

DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
    // здесь
}

Но мне, честно говоря, такое решение не очень нравится. Существуют ли какие-нибудь еще способы обойти мою проблему?