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.
Hatalı
Bölüm başlığı “Hatalı”let semaphore = DispatchSemaphore(value: 0)Task { result = try await load(); semaphore.signal() }semaphore.wait()let result = try await load()Düzeltme
Bölüm başlığı “Düzeltme”Beklemek yerine async’i çağırana kadar yukarı taşıyın.