Skip to main content

et-async

ET async and EntityRef safety workflow. Use when adding, modifying, or reviewing async/await, ETTask, generic ETTask results, ETCancellationToken, NewContext, concurrent waits, handler Run async safety, or any Entity access after await in WOW/ET code or tests.

インストールへ移動

ソース情報

リポジトリ
egametang/ET
ソースの最終更新活動
2026年5月18日 13:23
検出された SKILL.md の言語
中国語
スター
9,909
フォーク
3,235

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
5 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
et-async
description
ET async and EntityRef safety workflow. Use when adding, modifying, or reviewing async/await, ETTask, generic ETTask results, ETCancellationToken, NewContext, concurrent waits, handler Run async safety, or any Entity access after await in WOW/ET code or tests.
# et-async - ET Async 入口 ## 何时使用 - 新增、修改或 review `async` / `await` / `ETTask` / `ETTask<T>` - 判断某段逻辑是否应该异步化,或是否应该改回同步 - 处理 `await` 后 `Entity` 访问、`EntityRef<T>`、Handler `Run` 异步安全 - 设计并发等待、`ETTask.WaitAll(...)`、`ETCancellationToken`、`NewContext(...)` ## 不要加载 - 代码完全同步,且不涉及异步边界、安全或取消控制 - 只是编译、导出、跑测试、操作 Unity / Excel ## 默认动作 1. 先判断是否真的需要异步,并明确谁在等待返回值。 2. 只有 RPC、IO、定时器、协程锁、跨 Fiber 结果或其它真实异步资源,才保留 `async` / `ETTask`。 3. 调用方不依赖返回值时,优先改成同步方法、普通消息、`Send` 或独立协程。 4. 只要存在 `await` 后继续访问 Entity 的路径,就在 `await` 前创建 `EntityRef<T>`,并在 `await` 后重新获取。 5. 函数参数可以传 Entity;字段、属性、集合中保存 `EntityRef<T>`,不要长期持有 Entity。 6. 在消费结果的协程里直接 `await`;不要设计“返回一个 `ETTask` 句柄,后面再 await”的桥接层。 7. `NewContext(...)` 只承担独立协程与取消边界;需要携带实体时使用 `EntityRef<T>`。 ## 快速分流 - `EntityRef` 正误示例、并发等待、取消控制:补读 `references/et-async-rules.md` - Handler `Run`、组件契约、包结构:叠加 `et-code` - 测试里的异步等待:叠加 `et-test-write` ## 输出要求 - 说明异步是否必要,以及谁在等待结果 - 说明 `await` 后实体访问是否通过 `EntityRef<T>` 保护 - 说明并发组织方式是否避免延后消费 `ETTask` - 说明 `ETCancellationToken` / `NewContext(...)` 是否只承担取消与协程边界职责
GitHubで見る