# 现有的 async 使用太痛苦了

**URL:** <https://taolun.moonbitlang.com/t/topic/1427>\
**Category:** MoonBit反馈\
**Created:** [2026 年6 月 4 日 17:10 UTC](https://taolun.moonbitlang.com/t/topic/1427 "2026-06-04T17:10:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

作者： ![1216892614](https://taolun.moonbitlang.com/user_avatar/taolun.moonbitlang.com/1216892614/32/186_2.png) [@1216892614](https://taolun.moonbitlang.com/u/1216892614)\
发布日期： [2026 年6 月 4 日 17:10 UTC](https://taolun.moonbitlang.com/t/topic/1427/1 "2026-06-04T17:10:23Z")

</div>

除了文档我几乎没有办法判断一个外部库我是否需要使用 with\_task\_group, 如果我不熟悉一个库那我就没法上手使用异步实践, 只能任由消息串连在一起. 而且这样使用异步的体验代码量比 all/any 更多, 阅读更加困难 (这段代码到底在等什么, 这里的 with\_task\_group 到底是不是瞎写的), 而且 vibe 的时候幻觉更多 (llm: 这里执行缓慢, 我只要加个 with\_task\_group 就好了嘻嘻)

---

<div class="post-metadata">

作者： ![Guest0x0](https://taolun.moonbitlang.com/user_avatar/taolun.moonbitlang.com/guest0x0/32/120_2.png) [@Guest0x0](https://taolun.moonbitlang.com/u/Guest0x0)\
发布日期： [2026 年6 月 8 日 02:38 UTC](https://taolun.moonbitlang.com/t/topic/1427/2 "2026-06-08T02:38:24Z")

</div>

关于外部库的 API：这恰恰是 `with_task_group` 这套结构化并发的优点：由于 `with_task_group` 的性质，只要一个 API 没有显式接受 `TaskGroup` 参数，它里面 spawn 的所有 task 就一定会在它返回前结束。也就是说，没有 `TaskGroup` 参数的 API，全部都可以当成 blocking 来处理，连文档都不需要看。

关于阅读和编写：这个确实需要熟悉 `with_task_group` 的语义。不过 `with_task_group` 只是整套系统里最底层的原语。虽然 `with_task_group` 可以拿来干几乎所有事情，但 `moonbitlang/async` 里也提供了 `with_timeout`、`all`、`any` 这种基于 `with_task_group` 的组合子。
