golang 再一个select中延迟执行cancel事件

image.png

我有如上的一段代码, 我想再ctx.Done() 接收到消息时, 执行一次ticker.C的代码, 然后再return出去, 有什么实现方式吗? (当然可以直接再ctx.done里面执行一次ticker.C里面的代码, 但我不想这样做)

阅读 2.4k
1 个回答
select {
case <- ctx.Done():
  shouldReturn = true
  fallthrough
case <- ticker.C:
  // execution your code ...
  if shouldReturn {
    return
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题