DispatchGroup ждет вечно - PullRequest
       60

DispatchGroup ждет вечно

0 голосов
/ 05 октября 2019

У меня есть асинхронная функция с completionHandler (скажем, она называется asyncFunction), которую я вызываю внутри другой функции. Я хочу, чтобы эта вторая функция ожидала асинхронной функции. Итак, я хочу, чтобы вторая функция работала синхронно. Я использую DispatchGroup и wait(), но похоже, что есть тупик. Это ждет вечно.

Вот что я делаю.

let dispatchGroup = DispatchGroup()
dispatchGroup.enter()
DispatchQueue.global().async {
    self.asyncFunction() { error in
        if let error = error {
           debugPrint(error.alertText)
        }

        dispatchGroup.leave()
    }
}
dispatchGroup.wait()

Что я делаю не так?

Кстати, я не могу использовать notify() в этом случае. Я не хочу, чтобы в моей функции был обработчик завершения.

...