İçeriğe geç

Asenkron üzerinde senkron bekleme (ARCH9023)

Anahtar swift.async.sync-over-async · Önem warning · Kategori async

Asenkron işi beklemek için kullanılan DispatchSemaphore.wait / DispatchGroup.wait / DispatchQueue.sync çağrılarını işaretler - ana iş parçacığında kilitlenir ve iş birlikçi havuzu aç bırakır.

let semaphore = DispatchSemaphore(value: 0)
Task { result = try await load(); semaphore.signal() }
semaphore.wait()
let result = try await load()

Beklemek yerine async’i çağırana kadar yukarı taşıyın.