context是Go语言的一个官方包,主要功能是跨 API 边界和进程间传递截止时间、取消信号和其他请求范围值。关于context的具体功能和原理本文不做过多介绍,本文主要是探讨context包的一个常用功能:超时机制。
context.WithTimeout
context.WithTimeout 返回一个超时上下文及其退出函数,函数签名如下:
func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) {
return WithDeadline(parent, time.Now().Add(timeout))
}
大约 3 分钟
