context_timeout.go
Go•マスター
Explorer
C40
C++40
C#40
Dart40
Go
初級10
中級10
上級10
エキスパート5
マスター5
context_timeout.go
generic_pool.go
worker_pool.go
reflect_map.go
sync_cache.go
Java40
JavaScript40
Kotlin40
Objective-C40
Perl40
PHP40
Python40
R40
Ruby40
Rust40
Shell40
Swift40
TypeScript40
context_timeout.go
Click to focus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
func fetch(ctx context.Context, url string) ([]byte, error) {↵
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)↵
defer cancel()↵
ch := make(chan []byte, 1)↵
go func() {↵
ch <- doFetch(url)↵
}()↵
select {↵
case data := <-ch:↵
return data, nil↵
case <-ctx.Done():↵
return nil, ctx.Err()↵
}↵
}
0WPM•0%•0:00•0/331(0%)|Ln 1, Col 1
UTF-8•Go