定义

  • Promise 对象用于异步计算
  • 一个Promise 表示现在、将来或永不可能可用的值

    解释

  • 主要用于异步计算

  • 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果。
  • 可以在对象之间传递和操作Promise,帮助我们处理队列。

    产生的原因

  • javascript包含大量异步操作

    异步操作的常见语法

  • 事件监听与响应

  • 回调

    异步回调造成的问题

  • 嵌套层次很深,难以维护

  • 无法正常使用return和throw
  • 无法正常检索堆栈信息
  • 多个回调之间难以建立联系

    Promise简介

    ```javascript new Promise( function (resolve,reject){ // 一段耗时很长的异步操作 resolve(); // 数据处理完毕 reject(); // 数据处理出错 }).then(function A(){ // 成功,下一步 } ,function B(){ // 失败,做相应处理 })

```

  • Promise是一个代理对象,它和原先要进行的操作并无关系
  • 它通过引入一个回调,避免更多的回调