查看: 7183|回复: 6

接口中如何使用直接结束(比如"return")

升级   0.18%

2

主题

5

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2021-7-15 15:13:13 | 显示全部楼层 |阅读模式
如图,在服务管理-接口配置中,以下代码的return无效,依然会输出数字2
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-7-16 09:50:02 | 显示全部楼层
您这个截图小小管理员看的有点奇怪,
1.try 没有catch吗?
2.return  内容是什么?
回复

使用道具 举报

升级   0.18%

2

主题

5

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2021-7-19 11:03:28 | 显示全部楼层
try有对应的catch,我现在是想一个页面执行到某段里面,写一个if,直接就结束,而不再执行之后的代码,当然,如果使用if else 语句是可以实现的
比如
if (A==1)
{
     this.response.setBody(resultA,"application/json");
     return; //这里表示直接结束,不会再执行之后的代码
}
if(B==1)
{
     this.response.setBody(resultB,"application/json");
     return; //这里表示直接结束,不会再执行之后的代码
}
this.response.setBody(resultC,"application/json");
当然,这个代码段可以用以下语句代替,但是如果我的判断更复杂的话,以下语句就可能形成嵌套if,代码可读性较差
if (A==1)
{
     this.response.setBody(resultA,"application/json");
}
else if(B==1)
{
     this.response.setBody(resultB,"application/json");
}
else{
      this.response.setBody(resultC,"application/json");
}
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-7-19 14:07:15 | 显示全部楼层
我怎么觉得您if if if 这样的方法本身就不是不对的。
建议您直接只用if elseif else
回复

使用道具 举报

升级   0.18%

2

主题

5

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2021-7-19 15:06:11 | 显示全部楼层
这个方法当然逻辑肯定没问题,但是如果我逻辑复杂点,就可能出现多层if esle ,代码可读性极低,所以我才问有没有直接结束代码的方法,目前我就是用的嵌套if esle(嵌套了三层,每层里面有单独的判断) ,可读性极差
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-7-20 09:53:25 | 显示全部楼层
小小管理员,代码不是很扎实!
但是
一般return是函数直接返回, 也就是结束该函数
这个首先是函数!

如果是全局js代码,可能不行!
所以建议您还是if elseif  else
回复

使用道具 举报

升级   0.18%

2

主题

5

回帖

18

积分

注册会员

Rank: 2

积分
18
发表于 2021-7-21 11:28:16 | 显示全部楼层
谢谢,我知道怎么处理了,复杂的情况下我先用一个函数,在函数中return,然后最后调用这个函数即可
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread