for循环与递归之间的嵌套调用问题,如何跳出递归链
如图代码:
任务A、任务B、任务C
C的前置任务是B,
B的前置任务是A,
如果把A的前置任务设置为C,
那么就进入了一个死循环。前置任务的意思是:要想启动当前任务,必须处理掉在它之前的任务,形成一条上下级的任务链。
现在,我们不能让任务链成为死链,要不然都无法启动。
这个方法可以理解为,传入前端发送过来的前置任务IDlist、当前任务的ID,然后不断通过递归去查找前置任务表中是否含有当前任务的id,因为任务的层级链可能很长,所以要一直查到查出来的集合为空,那么就代表,这些前置任务是可选的,否则,就是不可选,上层抛出异常。
问题来了:
如何去跳出整个递归链,比如,找到的当前任务的id,那么直接终止这个for循环,而不是只是终止了当前递归层级,还会去执行下一个递归。
下面是Debug图
大佬们,这要怎么解决啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
修改代码,直接在方法处理层级抛出异常,直接终止整个程序。