I have two functions that executes async.
I tried to "syncronize" them with: DispatchGroup and 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 and Func2 are only calls of:
class func getDataFromUrl( url: URL, completion: @escaping ( Data?, URLResponse?, Error? ) -> ( ) )
    {
        URLSession.shared.dataTask( with: url )
        {
            data, response, error in
            completion( data, response, error )
        }.resume( )
    }
But the problem is that i do not know how to wait for the completion block in the queue.async ..
Anyone has any ideea?