工作 8 年,这样 while 循环调别人接口是什么水平?

查看 67|回复 9
作者:Mannnnning   
同事写的代码,循环调了别人接口 50+次
var callRpc(var id) {
        此处省略(P99 = 2S)
}
   
var getId() {
        var id = 0;
        while(true) {
            tmp = callRpc(id);
        if (tmp

循环, 接口, 代码

Chemist   
怕什么,callRpc 会阻塞,又不会并发出去。你这边不 while 循环保证拿到 id ,那一定会在别的地方循环调你这个 getId() 方法 50 次。抛到最上层,那就是用户手动点按钮一直点。然后前端弹了 50 个 message 之后请求成功。业务复杂度不会降低,只会转移。
frank1256   
你不能立马怪他,也许对方就不提供批量接口,能咋办。我遇到过对接方的,就不给批量,高端点就并发调呗
MoozLee   
比较好奇在三方不提供批量接口,且不允许并发的情况下。除了循环还有什么办法?项目上正好有一个需要调 1000 次三方接口的需求,三方不允许并发。
KongLiu   
第三方接口的无奈之举,很正常
lnbiuc   
现在都是抛开业务逻辑和实际使用场景不谈吗
FrankAdler   
蠢或者懒,我前几天刚好处理了一个循环调用,他代码注释写的批量,紧接着就 for 循环调用,可惜人已经被裁,问不到真相了。
winnerczwx   
刚入行才会考虑优不优雅, 入行久了只会考虑 这个方案在这个场景下能不能解决问题, 有没有其他风险, 有风险会在什么情况下爆发 我是否可控, 如果一切都 OK 那就干
Ashe007   
楼上是认真的吗?我怎么觉得 break 的时机很奇怪呢,除非这个做法跟业务强绑定,否则我认为这是一段差劲的代码
Mannnnning
OP
  
@Ashe007 是真实事件,单号续约场景、从当前单号逐步查询到第一个单号。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部