日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame數據返回-緩沖控制

?Response?輸出采用了緩沖控制,輸出的內容預先寫入到一塊緩沖區(qū),等待服務方法執(zhí)行完畢后才真正地輸出到客戶端。該特性在提高執(zhí)行效率同時為輸出內容的控制提供了更高的靈活性。

網站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網頁設計、網站建設、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了閻良免費建站歡迎大家使用!

相關方法:

func (r *Response) Buffer() []byte
func (r *Response) BufferLength() int
func (r *Response) BufferString() string
func (r *Response) Flush()
func (r *Response) SetBuffer(data []byte)

其中?Output?作用類似于?Flush?將緩沖區(qū)的數據輸出到客戶端并清空緩沖區(qū)。

舉個例子:

我們通過后置中間件統(tǒng)一對返回的數據做處理,如果服務方法產生了異常,那么不能將敏感錯誤信息推送到客戶端,而統(tǒng)一設置錯誤提示信息。

package main

import (
	"github.com/GOgf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/net/ghttp"
	"net/http"
)

func MiddlewareErrorHandler(r *ghttp.Request) {
	r.Middleware.Next()
	if r.Response.Status >= http.StatusInternalServerError {
		r.Response.ClearBuffer()
		r.Response.Writeln("服務器居然開小差了,請稍后再試吧!")
	}
}

func main() {
	s := g.Server()
	s.Group("/api.v2", func(group *ghttp.RouterGroup) {
		group.Middleware(MiddlewareErrorHandler)
		group.ALL("/user/list", func(r *ghttp.Request) {
			panic("db error: sql is xxxxxxx")
		})
	})
	s.SetPort(8199)
	s.Run()
}

訪問 http://127.0.0.1:8199/api.v2/user/list 可以看到,頁面輸出了:

服務器居然開小差了,請稍后再試吧!

文章名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame數據返回-緩沖控制
文章鏈接:http://m.5511xx.com/article/cocgphi.html