62 lines
1.6 KiB
Markdown
62 lines
1.6 KiB
Markdown
|
|
# 理解条件分支
|
|||
|
|
|
|||
|
|
学习如何创建基于数据条件采用不同路径的工作流,使您的工作流更智能和自适应。
|
|||
|
|
|
|||
|
|
## 什么是条件分支?
|
|||
|
|
|
|||
|
|
条件分支允许工作流:
|
|||
|
|
|
|||
|
|
- **做出决策**:根据数据选择不同的处理路径
|
|||
|
|
- **处理变化**:以不同方式处理不同内容类型
|
|||
|
|
- **优化性能**:为某些输入跳过不必要的步骤
|
|||
|
|
- **自定义行为**:基于条件提供不同体验
|
|||
|
|
|
|||
|
|
## 真实世界示例
|
|||
|
|
|
|||
|
|
想象一个内容处理工作流:
|
|||
|
|
|
|||
|
|
- **短内容**(< 50字):获得快速处理
|
|||
|
|
- **中等内容**(50-200字):获得标准处理
|
|||
|
|
- **长内容**(> 200字):获得带有额外分析的详细处理
|
|||
|
|
|
|||
|
|
## 基本分支语法
|
|||
|
|
|
|||
|
|
```typescript
|
|||
|
|
.branch([
|
|||
|
|
[condition1, step1],
|
|||
|
|
[condition2, step2],
|
|||
|
|
[condition3, step3]
|
|||
|
|
])
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
其中:
|
|||
|
|
|
|||
|
|
- **condition**:返回 `true` 或 `false` 的异步函数
|
|||
|
|
- **step**:条件为 `true` 时要执行的步骤
|
|||
|
|
|
|||
|
|
## 条件函数
|
|||
|
|
|
|||
|
|
条件是检查输入数据的函数:
|
|||
|
|
|
|||
|
|
```typescript
|
|||
|
|
// Example condition function
|
|||
|
|
async ({ inputData }) => {
|
|||
|
|
return inputData.wordCount < 50;
|
|||
|
|
};
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 多条路径
|
|||
|
|
|
|||
|
|
- 如果多个条件为 `true`,**所有匹配的步骤并行运行**
|
|||
|
|
- 如果没有条件为 `true`,工作流继续而不执行任何分支步骤
|
|||
|
|
- 条件按顺序评估,但匹配的步骤同时运行
|
|||
|
|
|
|||
|
|
## 好处
|
|||
|
|
|
|||
|
|
- **智能路由**:将数据发送到最合适的路径
|
|||
|
|
- **性能**:在不需要时跳过昂贵的操作
|
|||
|
|
- **灵活性**:在一个工作流中处理不同场景
|
|||
|
|
- **可维护性**:不同处理路径的清晰逻辑
|
|||
|
|
|
|||
|
|
接下来,您将创建一个带有条件分支的工作流!
|