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.

Zur Installation springen

Quellinformationen

Repository
egametang/ET
Letzte Quellaktivität
18. Mai 2026 um 13:23
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
9.909
Forks
3.235

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
5 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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(...)` 是否只承担取消与协程边界职责
Auf GitHub ansehen