🌐 什么是 Promise?

Promise 是 JavaScript 中处理异步操作的核心对象,它封装了异步操作的最终结果。
三个状态

  • Pending(等待中):初始状态,既没有被解决也没有被拒绝
  • Fulfilled(已解决):操作成功完成
  • Rejected(已拒绝):操作失败
Promise_JavaScript

🧠 Promise 的核心特性

  • 链式调用:通过 .then().catch() 链式处理异步结果
  • 避免回调地狱:用 Promise 替代多层嵌套的回调函数
  • 状态不可逆:一旦从 Pending 转为 FulfilledRejected,状态将永久锁定

📚 示例代码

fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('请求失败:', error));

⚠️ 常见误区与解决方案

误区 解决方案
重复调用 .then() 使用 .catch() 统一处理错误
忘记处理错误 始终在链式调用末尾添加 .catch()
混淆 Promise 与回调 明确区分异步操作与同步逻辑
Promise_Flowchart

🔄 与 async/await 的对比

特性 Promise async/await
错误处理 需要 .catch() 使用 try/catch
可读性 链式调用可能复杂 同步风格代码更直观
混合使用 支持嵌套 需要 await 关键字

📚 扩展阅读

想进一步了解如何用 async/await 简化异步代码?
👉 深入解析 async/await 为你揭秘更优雅的写法!

Then_Catch_Usage