Skip to content

Commit d1b01a3

Browse files
authored
Merge pull request pazams#21 from itaditya/itaditya-patch-3
Used select statement for async go
2 parents 0bf539c + d5ef198 commit d1b01a3

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,40 @@ func fetchConcurrent() {
265265
}
266266
```
267267
268+
or
269+
270+
```Go
271+
272+
func fetchConcurrent() {
273+
aChan := make(chan fetchResult, 0)
274+
bChan := make(chan fetchResult, 0)
275+
cChan := make(chan fetchResult, 0)
276+
277+
go func(c chan fetchResult) {
278+
c <- fetchA()
279+
}(aChan)
280+
go func(c chan fetchResult) {
281+
c <- fetchB()
282+
}(bChan)
283+
go func(c chan fetchResult) {
284+
c <- fetchC()
285+
}(cChan)
286+
287+
for i := 0; i < 3; i++ {
288+
select {
289+
case a := <-aChan:
290+
fmt.Println(a)
291+
case b := <-bChan:
292+
fmt.Println(b)
293+
case c := <-cChan:
294+
fmt.Println(c)
295+
296+
}
297+
}
298+
}
299+
300+
```
301+
268302
# Modules / Packages
269303
## Spec & Practice
270304
**JS**

0 commit comments

Comments
 (0)