🧬次数循环组件
版本支持:v2.9.0+
# 用法
LiteFlow提供了次数循环组件。返回的是一个int值的循环次数。 主要用于FOR...DO...
表达式。
关于FOR...DO...
表达式的用法,可以参考循环编排这一章。
比如要对一段表达式进行固定次数的循环操作,可以如下定义:
<chain name="chain1">
FOR(f).DO(THEN(a, b));
</chain>
f节点的定义,需要继承NodeForComponent
,需要实现processFor
方法:
@LiteflowComponent("f")
public class FCmp extends NodeForComponent {
@Override
public int processFor() throws Exception {
//这里根据业务去返回for的结果
}
}
内部可以覆盖的方法和this关键字可调用的方法见普通组件这一章。
# 当前循环下标获取
关键字FOR...DO...
中DO
里面的任意java组件都可以通过this.getLoopIndex()
来获得当前循环层的下标。
在脚本中通过_meta.loopIndex
来获取。
# 多层嵌套循环中获取下标v2.12.3+
如果在一个3层嵌套循环里:
<chain name="chain1">
FOR(x).DO(
FOR(y).DO(
FOR(z).DO(
THEN(a,b)
)
)
);
</chain>
a组件要取到当前循环下标:this.getLoopIndex()
或者this.getPreNLoopIndex(0)
,这2者是等价的
a组件要取到第二层循环下标:this.getPreLoopIndex()
或者this.getPreNLoopIndex(1)
,这2者是等价的
a组件要取到第一层循环下标:this.getPreNLoopIndex(2)
唯一要关注的就是getPreNLoopIndex
这个方法,里面的数字代表了往前取多少层,数字0就代表了当前层。以此类推。
帮助我们改善此文档 (opens new window)
上次更新: 2024/09/06, 11:44:23