A `return` should kill it. On Thursday, 11 January 2018 15:50:24 UTC, Iman Tumorang wrote: > > I'm using goroutine with 2 concurrent jobs. > > And I've using context with both of the goroutine. > > I use > context.WithTimeout > > > func (u *feedUsecase) fetchDataWithContext(ctx context.Context, location > string, fc chan feedChan) { > go func() { > for { > select { > case <-ctx.Done(): > fc <- feedChannel{ > Err: ctx.Err, > Data: nil, > } > return > default: > // Calling another API > fc <- resultFromAPI > return > } > } > > > > I've succeeded to stop the waiting for the response of the function that > uses the goroutine. > And returning the error: context exceeded. But later I found that the > goroutine still exists until it's finished the process. > > > Is there any ways to kill immediately the goroutine?? > > I mean, some tricks or ways to kill all the process immediately in > function : fetchDataWithContext > > > Thank you. > > > >
-- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.