问题描述
这更像是一个 API 设计问题,但我很好奇其他人对这种情况的看法:
假设我有一个服务器,客户端会向我发送他们想要检索数据的项目列表,然后我返回一个 item:data 的映射。
当然首先我会检查我的缓存,查询我的数据库。让我们假设数据库查询花费的时间太长(无论出于何种原因),所以我有足够的时间将部分结果(在缓存中找到)返回给客户端。
我想让客户知道两件重要的事情:
- 这是您的部分结果(如果您选择使用它们)。
- 这就是我无法解决您的其余查询 (
err.ConnDeadlineExceeded
) 的原因
现在我计划只返回部分结果和零错误。这样做的原因是我的大多数客户首先检查 err != nil
,并且只有当这是真的时,他们才会真正费心查看结果。
但这感觉不对,因为我正在丢弃有关数据库超时的信息。任何建议的解决方案?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)