diff --git a/backend/src/process.py b/backend/src/process.py index 6a4171269..12049c366 100644 --- a/backend/src/process.py +++ b/backend/src/process.py @@ -505,18 +505,20 @@ async def __gather_inputs(self, node: Node) -> list[object]: assigned_inputs = self.inputs.get(node.id) assert len(assigned_inputs) == len(node.data.inputs) - inputs = [] - for input_index, node_input in enumerate(assigned_inputs): + async def get_input_value(input_index: int, node_input: Input): if input_index in ignore: - inputs.append(None) + return None + if input_index in lazy: - inputs.append( - Lazy.from_coroutine( - self.__resolve_node_input(node_input), self.loop - ) + return Lazy.from_coroutine( + self.__resolve_node_input(assigned_inputs[input_index]), self.loop ) - else: - inputs.append(await self.__resolve_node_input(node_input)) + + return await self.__resolve_node_input(node_input) + + inputs = [] + for input_index, node_input in enumerate(assigned_inputs): + inputs.append(await get_input_value(input_index, node_input)) return inputs