Closed Winens closed 1 month ago
Selamlar, bilgilendirme için teşekkürler. Proje Go'da async await yapısı olduğunu iddaa etmiyor, README içerisinde yer aldığı gibi Java'da test projelerinde sıklıkla kullanılan https://github.com/awaitility/awaitility projesinin yaptığı işi vaad ediyor. Şu an go-await tek bir işlemi bekleyebiliyor. Bundan dolayı waitgroup'a gerek yok, tek bir channel ile işi hallediyor. Birden çok işlemi beklemesi için ekleme yapma planım vardı, dediğiniz şekilde ilerleyecektim onda da. Teşekkürler, issue'yu kapatıyorum.
Go'da await yok çünkü async işlemleri bekleyen bir Promise yok. Fakat bunun için kullanılan doğru yöntem sync.WaitGroup'tur (https://pkg.go.dev/sync#example-WaitGroup). Kaç adet goroutine var ise o kadar gruba eklenir ve her goroutine'in bitemsini wg.Wait ile bekleyebilirsiniz. Timeout için ise go'da heryerde kullanılan context'i kullanmalısınız. Contextler timeout özelliği taşır ve timeoutexceed hatalarını daha iyi yönetebilirsiniz (https://pkg.go.dev/context#WithTimeout).