Lazy loaded image
技术分享
彻底理解 Promise / async
字数 503阅读时长 2 分钟
2021-7-17
2025-5-10
type
status
date
slug
summary
tags
category
icon
password

彻底理解 Promise / async

Promise 和 async/await 是现代开发中最常用的异步处理方案。本文将带你深入理解它们的原理、语法、常见坑与实战技巧。

一、回调地狱的由来

在 Promise 出现之前,异步代码都是通过回调函数来完成:
这种多层嵌套的写法被称为 回调地狱,不仅难以阅读,也很难维护。

二、Promise 是什么?

Promise 是一个对象,代表一个未来才会完成的异步操作的结果。

状态流转

状态一旦改变就不可逆!

三、Promise 链式调用原理

每个 .then() 都返回一个新的 Promise,形成链式结构。

错误穿透机制

只需在最后 .catch(),就能捕获前面任意一环出错:

四、async / await 是什么?

async 函数是对 Promise 的语法糖,它让异步代码像同步那样写。
等价于:

错误处理


五、常见误区与技巧

1. await 后面不是 Promise 也能执行

2. await 会阻塞 async 函数的执行流程

3. async 函数总是返回 Promise

4. 多个异步任务并行执行

上一篇
React 中的 useRef 与 useState
下一篇
带你搞懂 JavaScript 中的原型和原型链