У меня есть две функции, которые выполняют асинхронный.
Я пытался "синхронизировать" их с помощью: DispatchGroup и DispatchQueue
let queue = DispatchQueue(label: "com.company.app.queue", attributes: .concurrent)
let group = DispatchGroup()
queue.async(group: group) {
//func1
}
queue.async(group: group) {
//func2
}
group.notify(queue: queue) {
print("#3 finished")
}
Func1 и Func2 являются только вызовами:
class func getDataFromUrl( url: URL, completion: @escaping ( Data?, URLResponse?, Error? ) -> ( ) )
{
URLSession.shared.dataTask( with: url )
{
data, response, error in
completion( data, response, error )
}.resume( )
}
Но проблема в том, что я не знаю, как ждать блок завершения в queue.async ..
У кого-нибудь есть идеи?