瀏覽代碼

fix(iteration): handle empty iterator gracefully (#9565)

-LAN- 6 月之前
父節點
當前提交
5459d812e7
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      api/core/workflow/nodes/iteration/iteration_node.py

+ 9 - 0
api/core/workflow/nodes/iteration/iteration_node.py

@@ -46,6 +46,15 @@ class IterationNode(BaseNode[IterationNodeData]):
         if not iterator_list_segment:
             raise ValueError(f"Iterator variable {self.node_data.iterator_selector} not found")
 
+        if len(iterator_list_segment.value) == 0:
+            yield RunCompletedEvent(
+                run_result=NodeRunResult(
+                    status=WorkflowNodeExecutionStatus.SUCCEEDED,
+                    outputs={"output": []},
+                )
+            )
+            return
+
         iterator_list_value = iterator_list_segment.to_object()
 
         if not isinstance(iterator_list_value, list):