Wait(等待)
让流程暂停固定的一段时间。
用途
把流程保持若干毫秒——好让动画结束、屏幕稳定,或网络调用返回,再进行下一步。
它是纯计时器。它不看屏幕。
何时用
何时不用
- 等某物出现。 带超时的 Find Image 或 Check Region 做得更好:它在东西一出现的瞬间返回,而不是总把整段延时烧掉。
- 修飘忽。 "通常能行"的 Wait 是套着多余步骤的竞态条件。
经验法则
有条件就等条件。只有当没有可观察的东西标记你所等之物的终点时,才等时间。
前提
无。Wait 不接设备也能运行。
如何运行
- 校验时长有效(50–120000 ms)。
- 随机模式:为本次执行取一个 min 与 max 之间的均匀整数延时。
- 分成可取消的小片睡眠,好让 Stop 迅速生效。
- 若等待中运行被取消,路由 Cancelled;否则路由 Success 并报告真实等待时间。
分片睡眠正是 60 秒 Wait 不会阻塞你停止运行的原因。
设置
| 设置 | 类型 | 范围 | 默认 | 作用 |
|---|---|---|---|---|
| Wait mode | 选择 | fixed、random | fixed | 一个固定延时,或每次执行取新随机延时 |
| Duration | integer | 50–120000 ms | — | 必填。 固定值,也是随机对不全时的回退 |
| Duration min | integer | 50–120000 ms | — | 随机模式下限 |
| Duration max | integer | 50–120000 ms | — | 随机模式上限 |
| Reason | string | ≤ 500 字符 | — | 显示在运行日志里、解释这个停顿为何存在的备注 |
随机模式
用 waitMode: random,运行时每次执行取一个 [min, max] 里的新均匀整数延时。循环里的 Wait 因此每轮暂停不同。
这有两重意 义:它挡住流程发出完美规整的时间签名,还在多个实例跑同一流程时自然分散负载。
Duration 仍必填——它是固定值,也是随机对不全时的回退。
请用 Reason 字段
Reason 零成本,且显示在运行日志里。"居中后让地图稳定" 半年后告诉你那 900 ms 为何存在。没注释的魔法数字是流程腐烂的方式。
端口
| 端口 | 走它的时机 | 必接 |
|---|---|---|
| Success | 整段等待流逝(输出:真实等待毫秒) | 是 |
| Cancelled | 等待中运行被停 | 否——永不被走 |
| Fatal | 时长在 50–120000 ms 之外 | 否——永不被走 |
Wait 没有 Failure 和 Timeout 端口。等待不会失败;它只能被取消或配置错。
基础示例
让打开动画结束:
- Duration:
1000ms - Reason:
"opening animation"