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