Move Go() promise-like func from utils to pkg/promise
This is the first of two steps to break the archive package's dependence on utils so that archive may be moved into pkg. Also, the `Go()` function is small, concise, and not specific to the docker internals, so it is a good candidate for pkg. Signed-off-by: Rafe Colton <rafael.colton@gmail.com>
This commit is contained in:
parent
6a33e70bd5
commit
32cc6ab501
1 changed files with 11 additions and 0 deletions
11
promise/promise.go
Normal file
11
promise/promise.go
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
package promise
|
||||||
|
|
||||||
|
// Go is a basic promise implementation: it wraps calls a function in a goroutine,
|
||||||
|
// and returns a channel which will later return the function's return value.
|
||||||
|
func Go(f func() error) chan error {
|
||||||
|
ch := make(chan error, 1)
|
||||||
|
go func() {
|
||||||
|
ch <- f()
|
||||||
|
}()
|
||||||
|
return ch
|
||||||
|
}
|
Loading…
Reference in a new issue