以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  函数中有return的话,后续代码不执行?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=141556)

--  作者:rogen
--  发布时间:2019/10/4 9:58:00
--  函数中有return的话,后续代码不执行?
函数中有return的话,后续代码是不是不执行了?
下图微信开发的代码
首先有个监听用户关注取关的函数,函数的作用是,①添加用户到数据库,②用户关注后,返回一串问题列表,让客户选一个编号来回复
函数里写了return(so.ToXML)
但用户回复了编号后,微信并未返回对应的消息
若去掉监听用户关注取关函数,直接在微信对话框里输入编号,是有返回消息的
是不是函数里有return了,就不往后执行代码了?
若是这样的话,怎样在httprequest里写带return的函数呢?

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191004095209.png
图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2019/10/4 10:17:00
--  
代码逻辑问题,如果后续还有代码要执行,就不应该return , 而是用一个变量保存要返回的值,到最后再统一return,例如:

dim ret as string 
if 条件1 Then
    代码1
    ret = "返回1"
else if 条件2
    代码2
   ret  = “返回2”
else
    代码3
   ret  = “返回3”
end if
代码4,不管条件都要执行的
return  ret
  

--  作者:rogen
--  发布时间:2019/10/4 10:49:00
--  

谢谢狐爸提醒

我之前是每个事件都做了一个函数,很多函数里都有return

我不知怎么用一个变量来接收各函数的返回值

是不是得把各事件函数整合成一个函数,httpquest里只写一个函数?

 


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20191004104823.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2019/10/4 10:52:00
--  
dim rrr AS string  = Functions.Excute(....)
Select case rrr
   ....
end Select

--  作者:rogen
--  发布时间:2019/10/4 11:00:00
--  
以下是引用狐狸爸爸在2019/10/4 10:52:00的发言:
dim rrr AS string  = Functions.Excute(....)
Select case rrr
   ....
end Select

不好意思,没太明白意思

为啥是返回一个字符串呢?是指函数返回的字符串吗?

函数里的return怎么能去掉呢?

[此贴子已经被作者于2019/10/4 11:02:34编辑过]

--  作者:有点蓝
--  发布时间:2019/10/6 11:11:00
--  
函数里返回什么类型,dim rrr AS 这里就对应定义什么类型。

函数里的return不会影响函数外部的执行逻辑,如果函数要返回数据,肯定要在函数里面使用return