İki goroutinim var: ana worker
ve bir helper
biraz yardım için döndüğünü. helper
hatalarla karşılaşabilirim, bu yüzden hataları iletmek için bir kanal kullanıyorum helper
to the worker
.
func helper(c chan <- error) (){
//do some work
c <- err // send errors/nil on c
}
İşte nasıl helper()
denir:
func worker() error {
//do some work
c := make(chan error, 1)
go helper(c)
err := <- c
return err
}
Sorular:
Bu bir ifade mi
err := <- c
engelleyiciworker
? Kanal tamponlu olduğu için sanmıyorum.Engelliyorsa, engellememesini nasıl sağlayabilirim? Benim şartım
worker
ve arayan, değerin kanalda görünmesini beklemeden işin geri kalanıyla devam eder.
Teşekkürler.
c
?