第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

急求?。。?!goalng框架Gin中間件的c.Next()有什么作用?

急求!?。。oalng框架Gin中間件的c.Next()有什么作用?

九州編程 2019-09-05 08:57:40
感覺用不用效果一樣的啊,看文檔說是執(zhí)行掛起程序,具體怎么好理解一些呢,每個(gè)中間件一定要用嗎?
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

中間件可以理解為洋蔥穿透。
c.Next()之前的操作是在Handler執(zhí)行之前就執(zhí)行;c.Next()之后的操作是在Handler執(zhí)行之后再執(zhí)行;
funcMiddleware(c*gin.Context){
fmt.Println("HelloBefore;")
c.Next()
fmt.Println("HelloAfter;")
}
然后你在Handler中輸出一些內(nèi)容就能發(fā)現(xiàn)。HelloBefore在你的Handler之前就輸出。HelloAfter在之后輸出。
之前的操作一般用來做驗(yàn)證處理,訪問是否允許之類的。之后的操作一般是用來做總結(jié)處理,比如格式化輸出、響應(yīng)結(jié)束時(shí)間,響應(yīng)時(shí)長計(jì)算之類的。
                            
查看完整回答
反對(duì) 回復(fù) 2019-09-05
?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

中間件用的,不要管啥掛不掛起的,我估計(jì)是翻譯的鍋。假如你用兩個(gè)中間件
//打印請(qǐng)求處理事件
funcMiddleware1(ctx*gin.Context){
start:=time.Now()//記錄開始時(shí)間
ctx.Next()//調(diào)用處理過程(會(huì)產(chǎn)生調(diào)用耗時(shí))
t:=time.Since(start)//調(diào)用處理過程完畢后計(jì)算時(shí)間差
fmt.Println(t)//打印本次請(qǐng)求處理時(shí)間差
}
funcMiddleware2(ctx*gin.Context){
if(!service.CheckLogin(ctx)){//登錄檢測,未登錄
return//直接return,該請(qǐng)求的處理結(jié)束
}
ctx.Next()//登錄檢測通過,繼續(xù)后續(xù)處理
}
                            
查看完整回答
反對(duì) 回復(fù) 2019-09-05
  • 2 回答
  • 0 關(guān)注
  • 485 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)