🌳循环编排
LiteFlow从v2.9.0开始,提供了循环编排表达式组合。
# FOR循环
FOR循环表达式用于固定次数的循环,通常的用法为:
<chain name="chain1">
FOR(5).DO(THEN(a, b));
</chain>
上述表达式表示把a->b这个链路固定循环了5次。
如果你在定义规则的时候并不确定要循环几次,要在代码运行的时候才知道。那你也可以这样定义:
<chain name="chain1">
FOR(f).DO(THEN(a, b));
</chain>
其中f这个节点需要为次数循环组件,返回一个int循环次数,如何定义请参照次数循环组件。
# WHILE循环
WHILE循环表达式用于有条件的循环,通常用法为:
<chain name="chain1">
WHILE(w).DO(THEN(a, b));
</chain>
其中w这个节点需要为条件循环组件,返回一个布尔值,为true则继续循环,如何定义请参照条件循环组件。
# ITERATOR迭代循环
ITERATOR迭代循环表达式通常用于集合的循环,通常用法为:
<chain name="chain1">
ITERATOR(x).DO(THEN(a, b));
</chain>
其中x这个节点需要为迭代循环组件,返回一个迭代器,如何定义请参照迭代循环组件。
提示
要注意的是,迭代循环组件只支持java定义,不支持脚本。
# BREAK
LiteFlow同样也支持BREAK语法,代表退出循环。
BREAK关键字可以跟在FOR和WHILE后面,通常用法为:
<chain name="chain1">
FOR(f).DO(THEN(a, b)).BREAK(c);
</chain>
<chain name="chain1">
WHILE(w).DO(THEN(a, b)).BREAK(c);
</chain>
其中c这个节点需要为退出循环组件,返回一个布尔值,为true则退出循环。如何定义请参考退出循环组件。
提示
BREAK关键字是在每次循环的末尾进行判断的。
# 异步循环
LiteFlow从v2.11.0支持了异步循环特性,关于异步循环请参考高级特性中的异步循环模式。
帮助我们改善此文档 (opens new window)
上次更新: 2024/04/09, 18:39:17