为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃无极 2018-10-24 19:03:14
1.场景大概是这样的:需要获取在某一个时间段用户新增数量,这个数量我打算用携程去做。初步代码类似代码如下:fansNum := make(chan string)go fans.GetFansIncrementNum(allFansIds, todayStart, todayEnd, fansNum)统计出来的数量,通过fansNum这个返回给上游,但是呢,如果fans.GetFansIncrementNum这个获取用户数量时发生错误,该怎么处理?我想到了一个处理就是:fansNum定义为一个 make(chan map[string]interface{}),在这个map里面加上错误码,上游通过错误码来决定怎么处理。请问一下,携程如果发生错误,是怎么返回给上游的?
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

  1. 传给GetFansIncrementNum一个chan error, 然后select fansNum和errChan

  2. 使用context包,

  3. 如果不需要获取error具体值,可以在GetFansIncrementNum函数中直接关掉fansNum

个人更推荐2


查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 533 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信