| 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 | |
| } |