# 等待
**等待任务完成,取回它的 `返` 回值。**
```xuantie
设 任务 = 异步 { 返 42 }
设 返值 = 等待(任务)
示(返值)
```
## 你可以……
- **只要完成、不要结果**——直接当语句写:
```xuantie
设 任务2 = 异步 { 时.睡(2000) }
设 任务3 = 异步 { 时.睡(1000) }
等待(任务2)
等待(任务3)
```
- **等一批任务全部结束**——逐个 `等待` 即可:
```xuantie
遍历 t 于 们 { 等待(t) }
```
## 注意
- 任务没有 `返` 时,`等待` 得到 `空`。
- 任务的返回值只能取一次:第二次 `等待` 同一个已完成任务得到的是 `空`(槽位已回收复用)。要多次使用的结果请先存进变量。
- `等待` 会驱动调度器直到全局静止:程序里还有其他长时间睡眠的任务时,它会等那些任务一并结束才返回——这是设计,不是挂死。
## 相关
[异步](异步.md) · [并行](并行.md) · [选](选.md)