时序图的「else / alt / opt / loop」控制流
时序图不只是
A -> B,控制流关键字才是它真正有用的地方。
alt / else —— 分支
最常用。alt 表示 if,else 表示 else:
1 | @startuml |
三个分支平铺,else 跟着 alt 后面,多个 else 都合法。
opt —— 可选分支
1 | opt 携带 refresh_token |
opt 没有 else,等价于 if (cond) { ... }。
loop —— 循环
1 | loop 每 10 秒 |
loop 后面带任意 label,渲染时会显示在横条上。
par —— 并行分支
1 | par |
两个分支同时发生,常用于前端并发请求。
critical / end critical —— 关键区
1 | critical 数据库写入 |
option 等价于 else,专门用于错误处理风格。
break —— 提前跳出
1 | break 用户取消 |
break 触发时跳出整个时序图,常用于取消流程。
note —— 注释
放在某个参与者的生命线上或横跨几个:
1 | note over FE, API |
note over A, B 横跨多参与者,note left of A / note right of A 单边。
实战组合示例
把上面几个塞进一个「支付」的完整流程:
1 | @startuml |
调试 tips
alt/par必须以end收尾,少一个end整张图都不渲染。note over中如果写,或:,建议包到"""块里:note over A """多行带, 字符""",否则偶发解析报错。loop的次数描述里避免中英文混合,部分渲染器对全角字符不友好,先用 ASCII 数字 + 英文。
- 标题: 时序图的「else / alt / opt / loop」控制流
- 作者: puml.online
- 创建于 : 2026-07-29 14:10:00
- 更新于 : 2026-08-14 21:34:29
- 链接: https://puml.online/blog/plantuml-sequence-control/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。