> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/looping.md).

# 在 Duaer 里使用循环

需要按多条数据重复处理时，用 Duaer 的循环。多数节点会自动按条目执行；少数情况要自己建循环。
## 只执行一次 <a href="#executing-nodes-once" id="executing-nodes-once"></a>

Duaer 节点默认对每个输入条目执行一次。上一个节点输出 20 条，这个节点就执行 20 次，每次的 $json 是其中一条。

若只想处理第一条（例如只发一条 Slack 消息），在节点 Settings 里打开 Execute Once。画布提示节点跑了多次时，链的就是这个设置。

## 创建循环

大多数节点会自动遍历条目。少数场景需要显式循环：把某一节点的输出连回前面的节点，并用 IF 决定何时停下。

要用 [Loop Over Items](/zh/flow-logic/looping.md)（节点列表里也叫 Split in Batches）直到全部条目处理完。Batch Size 设为 1 即逐条处理。分批可降低内存、避开接口限流；批次之间可加 Wait。

Loop Over Items 会在条目分完后自行结束，通常不必再加 IF 来停循环。内存报错时，分批通常比 Execute Once 更对症。更多见 [处理内存错误](/zh/flow-logic/error-handling/memory-errors.md)。
## Questions

### Duaer 里节点默认跑一次还是每条跑一次？

默认按每个输入条目跑一次。Settings 里打开 Execute Once 后，无论进来多少条只跑一次。

### Duaer 的 Loop Over Items 和 Execute Once 有什么区别？

Execute Once 把多条收成一次执行。Loop Over Items 分批处理，一批完成再取下一批，用来控制内存与限流。两者解决的问题不同。

