问题描述
Matt Ryer在他的演讲How I Write HTTP Web Services中提到了一些有趣的事情。他建议编写http处理程序,以返回如下所示的handlerfunc:
func (s *server) handleSomething() http.HandlerFunc {
thing := prepareThing()
return func(w http.ResponseWriter,r *http.Request) {
// use thing
}
}
这允许您传递参数,或通过闭包在处理程序中使用服务器db连接,而无需使用全局变量。
我的问题是,prepareThing()
是在每个请求之后还是在应用程序启动时正在执行。他提到在prepareThing()
闭包中加载模板或进行其他昂贵的设置。这是否意味着关闭仅在应用启动时执行?为什么会这样?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)