当前位置: 首页 > news >正文

自己做的网站 怎么在网上销售WordPress未声明图片大小

自己做的网站 怎么在网上销售,WordPress未声明图片大小,做网站作业,做网站哪家比较好是什么?为什么? context时goroutine之间传递上下文消息,包括信号取消,储存数据。 为什么? Go通常写后端服务,启动一个HTTP请求会启动多个goroutine,可以共享token数据。 或者处理时间长,通过停止信号关联…

是什么?为什么?

context时goroutine之间传递上下文消息,包括信号取消,储存数据。

为什么?
Go通常写后端服务,启动一个HTTP请求会启动多个goroutine,可以共享token数据。

或者处理时间长,通过停止信号关联goroutine退出。

怎么用?共享数据,定时取消。

使用context共享数据  

// 使用context在不同goroutine中共享数据
func main() {ctx := context.Background() //初始化一个contextprocess(ctx)ctx = context.WithValue(ctx, "traceId", "5213") //给context添加数据process(ctx)
}func process(ctx context.Context) { // 在函数中传递contexttraceId, ok := ctx.Value("traceId").(string) // 获取context值if ok {fmt.Printf("process over. trace_id=%s\n", traceId)} else {fmt.Printf("process over. no trace_id\n")}
}
// 现实场景中可能是从一个 HTTP 请求中获取到的 Request-ID。
// requestIDKey 用作在 context 中设置和获取请求 ID 的键
// 定义一个特殊的类型可以避免在不同的包之间使用 context 时发生键的冲突
type contextKey stringconst requestIDKey contextKey = "requestID"// WithRequestID 是一个中间件,它将请求ID从请求头中提取出来,
// 然后将这个ID添加到当前请求的context中。
func WithRequestID(next http.Handler) http.Handler {return http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {// 从请求头中获取请求IDreqID := req.Header.Get("X-Request-ID")// 使用context.WithValue创建一个新的context,// 其中包含了从请求头中提取出来的请求ID。// requestIDKey是用作在context中设置和获取请求ID的键。ctx := context.WithValue(req.Context(), requestIDKey, reqID)// 使用req.WithContext创建一个新的请求,// 其context已经包含了请求ID。req = req.WithContext(ctx)// 调用下一个处理器(或中间件),// 并将更新了context的请求传递给它。next.ServeHTTP(rw, req)})
}// 从Context中获取数据
func GetRequestID(ctx context.Context) string {return ctx.Value(requestIDKey).(string) // 从Context中获取Request-ID
}// 中间件处理函数
func Handle(rw http.ResponseWriter, req *http.Request) {reqID := GetRequestID(req.Context()) //从请求中的Context中获取Request-IDrw.Write([]byte(reqID))fmt.Println(reqID)
}
func main() {//type HandlerFunc func(ResponseWriter, *Request) 把func(ResponseWriter, *Request)函数转换成HandlerFunc类型实现了Handler接口handler := WithRequestID(http.HandlerFunc(Handle))err := http.ListenAndServe("127.0.0.1:8000", handler)if err != nil {fmt.Println("服务器启动失败")}
}

使用context定时取消 

// 使用context定时取消 
func main() {ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)defer cancel()ids := fetchWebData(ctx)fmt.Println(ids)}// 获取web数据
func fetchWebData(ctx context.Context) (res string) {select {case <-time.After(3 * time.Second):return "张三"case <-ctx.Done():return "超时"}
}

http://www.yayakq.cn/news/721115/

相关文章:

  • 梧州建设网站如何刷网站流量
  • 网站服务器错误平面广告设计好学吗
  • 顺义做网站同学怎样做28网站代理
  • 贵阳做网站做得好的手机如何登录wordpress
  • 潍坊科技网站建设wordpress建站更换图片
  • 新手学做网站学哪些知识wordpress 登陆访问
  • 江阴住房和城乡建设局网站深圳旅游攻略景点推荐
  • 为什么做企业网站佛山建设网站公司吗
  • 站长工具seo综合查询怎么用龙岩天宫山是什么菩萨
  • 微信网站设计欣赏软件软件开发
  • 青岛网站建设新元创想地产网站建设案例
  • 天津手机网站建站培训网站换ip对优化有影响吗
  • php网站怎么做网络销售渠道有哪些
  • 广西网站建设性价比高浙江城建建设集团网站
  • 网站模板怎么导入域名系统
  • 营销专业网站营销客户管理软件
  • 智慧团建网站登录密码是啥电子书资源wordpress主题
  • 八师石河子精神文明建设网站wordpress授权
  • google站长工具国外一直小猫做图标的网站
  • 做网站要学哪些哪里有网站开发平台
  • 金华金义东轨道建设网站网站开发需要学习哪些内容
  • 效果图网站有哪些哪些网站是用c语言做的
  • 龙口建网站如何提升网站知名度
  • 交互设计网站案例wordpress视频排版
  • 如何用腾讯云建设自己网站济南网站建设yigeseo
  • 网站ip段屏蔽广州网站建设开发设计
  • 怎么在windows做网站常州网站排名优化
  • 100款免费软件网站大全wordpress 前端登录
  • 怎么把网站做成软件企业网站建设工作流程
  • 企业网站建设专业的公司长沙网络营销