如图代码:
任务A、任务B、任务C
C的前置任务是B,
B的前置任务是A,
如果把A的前置任务设置为C,
那么就进入了一个死循环。前置任务的意思是:要想启动当前任务,必须处理掉在它之前的任务,形成一条上下级的任务链。
现在,我们不能让任务链成为死链,要不然都无法启动。
这个方法可以理解为,传入前端发送过来的前置任务IDlist、当前任务的ID,然后不断通过递归去查找前置任务表中是否含有当前任务的id,因为任务的层级链可能很长,所以要一直查到查出来的集合为空,那么就代表,这些前置任务是可选的,否则,就是不可选,上层抛出异常。
问题来了:
如何去跳出整个递归链,比如,找到的当前任务的id,那么直接终止这个for循环,而不是只是终止了当前递归层级,还会去执行下一个递归。
下面是Debug图
大佬们,这要怎么解决啊
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…