# 任务

**异步任务句柄类型,`异步 {}` 的返回值。**

```xuantie
设 t = 异步 {
    返 42
}
示(等待(t))   // 42
```

## 你可以……

- **先并发起跑,再逐个等待**——`等待(任务)` 等它完成并取回 `返` 回值:

```xuantie
设 a = 异步 { 时.睡(2000) }
设 b = 异步 { 时.睡(1000) }
等待(a)
等待(b)
```

- **用 `并行` 一次跑多个块**——返回各块结果组成的数组:

```xuantie
设 结果组 = 并行 { { 1 + 1 }, { 2 + 2 } }
示(结果组)
```

## 注意

*   本词是**保留字**:不能用作变量名、函数名、参数名等标识符(完整规则与清单见 [词法与基础语法](../手册/01_词法与基础语法.md#保留字不可作标识符))。
- 编译器按 `异步` 块的内容自动选择 fiber 调度器或 OS 线程池执行,无需手动指定。
- fiber 任务捕获的外层局部变量是 spawn 时刻的值副本——之后外层的修改它看不到,共享数据请走通道或全局变量。
- 任务无 `返` 时,`等待` 得 `空`。

## 相关

[异步](异步.md) · [等待](等待.md) · [并行](并行.md) · [道](道.md)