Code RoomGoroutines block forever on error
HardPrep Room Coding #2157

Goroutines block forever on error

Code reviewCode quality & reviewSenior–Staff~22 min

Review this Go function that fans out HTTP requests and collects the first success.

What a strong answer looks like

Separate real bugs from style. Rank issues by severity, point at the root cause rather than the symptom, and suggest a concrete fix, specific and kind.

0:00 of about 22 min
Mark a line and say what kind of problem it is.0 findings
1func firstOK(urls []string) (*http.Response, error) {
2 ch := make(chan *http.Response)
3 for _, u := range urls {
4 go func(u string) {
5 resp, err := http.Get(u)
6 if err == nil {
7 ch <- resp
8 }
9 }(u)
10 }
11 return <-ch, nil
12}
Which questions mattered is sealed until you submit. Telling you now would just be handing over the edge cases.