协程发生错误时,上游怎么获取?

1.场景大概是这样的:需要获取在某一个时间段用户新增数量,这个数量我打算用携程去做。初步代码类似代码如下:

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

统计出来的数量,通过fansNum这个返回给上游,但是呢,如果fans.GetFansIncrementNum这个获取用户数量时发生错误,该怎么处理?我想到了一个处理就是:fansNum定义为一个 make(chan map[string]interface{}),在这个map里面加上错误码,上游通过错误码来决定怎么处理。请问一下,携程如果发生错误,是怎么返回给上游的?


侃侃无极
浏览 534回答 1
1回答

呼啦一阵风

传给GetFansIncrementNum一个chan error, 然后select fansNum和errChan使用context包,如果不需要获取error具体值,可以在GetFansIncrementNum函数中直接关掉fansNum个人更推荐2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5