# 期约（Promise）

### 缩写：无

### 简述

代表尚未完成的异步运算最终结果的对象，可处于挂起、完成或失败等状态，并支持组合（then/catch/all 等）。将异步结果一等化，便于组合与错误传播；具体名在语言中可能是 Future/Task。

### 使用场景

HTTP 客户端、并行等待多个 IO、异步流水线。

### 组成与要点

```mermaid
stateDiagram-v2
  [*] --> 挂起
  挂起 --> 完成
  挂起 --> 失败
```
### 实践与应用

• 返回期约的函数保持幂等语义清晰
• 用 all/settled 明确失败策略
• 总是处理拒绝防止未捕获

### 注意事项

• 未处理的 rejection
• 把同步计算硬包成无意义期约

### 关联术语

• 异步：期约表示未完成运算
• 回调：期约之下的完成通知
• async/await：等待期约的语法
• 取消：终止未完成异步的协作机制
