2026-01-26 19:33:55 +08:00

1.4 KiB

FlowState

FlowState@tmagic/core 的流程状态类,用于控制事件动作流程的执行。

构造函数

new FlowState()

属性

属性 类型 说明
isAbort boolean 当前流程是否已中止

实例方法

abort

  • 返回:

    • {void}
  • 详情:

    中止当前流程。调用后 isAbort 变为 true,后续的事件动作将不再执行。

  • 示例:

import { FlowState } from '@tmagic/core';

const flowState = new FlowState();

// 在某个条件下中止流程
if (shouldStop) {
  flowState.abort();
}

// 检查是否已中止
if (flowState.isAbort) {
  console.log('流程已中止');
}

reset

  • 返回:

    • {void}
  • 详情:

    重置流程状态,将 isAbort 恢复为 false

  • 示例:

flowState.reset();
console.log(flowState.isAbort); // false

使用场景

FlowState 常用于控制事件动作链的执行流程:

import App, { FlowState } from '@tmagic/core';

const app = new App({ /* options */ });

// 创建流程状态
const flowState = new FlowState();

// 执行代码块时传入流程状态
await app.runCode('validateCode', {}, [], flowState);

// 如果验证失败,代码块内部可以调用 flowState.abort()
// 后续的动作将不会执行
if (!flowState.isAbort) {
  await app.runCode('submitCode', {}, [], flowState);
}