It is utterly clear that the random wait is not intrinsic to the logic - it was only added for demonstration to simulate varying duration of requests.
You can simply comment out the println and just pick the first results[0]. Again, the repeated println for all results was only added for demonstrative clarity.
Frankly, the above satisfies all primary goals. The rest is just nitpicking - without a formal specification of the problem one can argue all day.
>It is utterly clear that the random wait is not intrinsic to the logic - it was only added for demonstration to simulate varying duration of requests.
I wasn't talking about the random wait at all. I was talking about
for range time.NewTicker(time.Second).C {
fmt.Println("Results: ", results)
}
>You can simply comment out the println and just pick the first results[0].
When should we look at results[0]? There needs to be some notification that results[0] is ready to be looked at. Similarly with all the rest of the results.
>Frankly, the above satisfies all primary goals. The rest is just nitpicking - without a formal specification of the problem one can argue all day.
I guess we have to disagree. From my reading of the blog post it was pretty clear what Chris wanted, and the code you provided didn't meet that.
The desired behavior is that printing the first result should only wait for the first result to be available, not for all the results to be available.