返回行(发给客户端)

返回行决定 Mock **向客户端发什么**:单词简写(自动包 JSON)、完整 JSON、纯文本、从文件读取、延迟 `+300ms`、发完关连接 `!close` 等。返回是 Flow 的核心产出。

形式一览

形式 写法 发出内容
单词简写 subscribed {"":"subscribed"}
严格 JSON {"type":"ok","id":"$id"} template 展开 $ 后 stringify
文件 @fixtures/room.json 读文件;默认 JSON stringify 发送
引号字面量 "pong" 纯文本帧
管道链 @a.json | set(...) | template 见第十节

行尾修饰(顺序固定)

... | pipe ... | pipe ... +2s !close 1000

修饰 说明
+500ms / +2s / +0 延迟发送(锚点见 5.1;--@loop 的 tick 内 +delay 相对 tick 时刻)
!close [code] 该返回发出后,server 主动关闭 WS;code 默认 1000

省略 +delay = 立即发送。

平级多返回

见 5.1。Imposter 式 ack + 事件流:同一 -- / --@ 条件下多行返回即可。

{type: ...} 与简写

  • 推荐 strict JSON:{"type":"loginSuccess",...}
  • 简写 loginSuccess:由 # dispatch 编译为 {"type":"loginSuccess"}
  • 不支持无引号 JS 对象 {type: loginSuccess};validate 报错

编译流水线

返回行 → 载入返回体 → 管道左结合:每一 | transform输入 为上一段输出(首段输入为返回体本身)→ 末段产出 wire → injectWebSocketMessage () 内参数为 配置项,不是管道主输入(v2 见 22.4.1.0)。 若含 !close → 发送后 close connection