在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/GO/ 協(xié)程發(fā)生錯誤時,上游怎么獲???

協(xié)程發(fā)生錯誤時,上游怎么獲???

1.場景大概是這樣的:需要獲取在某一個時間段用戶新增數(shù)量,這個數(shù)量我打算用攜程去做。初步代碼類似代碼如下:

fansNum := make(chan string)
go fans.GetFansIncrementNum(allFansIds, todayStart, todayEnd, fansNum)

統(tǒng)計出來的數(shù)量,通過fansNum這個返回給上游,但是呢,如果fans.GetFansIncrementNum這個獲取用戶數(shù)量時發(fā)生錯誤,該怎么處理?我想到了一個處理就是:fansNum定義為一個 make(chan map[string]interface{}),在這個map里面加上錯誤碼,上游通過錯誤碼來決定怎么處理。請問一下,攜程如果發(fā)生錯誤,是怎么返回給上游的?

回答
編輯回答
枕頭人
  1. 傳給GetFansIncrementNum一個chan error, 然后select fansNum和errChan
  2. 使用context包,
  3. 如果不需要獲取error具體值,可以在GetFansIncrementNum函數(shù)中直接關(guān)掉fansNum

個人更推薦2

2018年8月30日 05:13