Promise 是一种异步编程的解决方案。用于解决回调地狱的问题。
    可以支持多并发的请求,获取并发请求中的数据。

    一个 Promise 对象有三个状态,并且状态一旦改变,便不能再被更改为其他状态。

    • pending,初始状态(等待状态)。
    • resolved (也可以叫fulfilled),成功状态。
    • rejected,失败状态

    当处于pending状态时,无法得知目前进展阶段。
    promise可以解决异步问题,但promise不是异步的。

    1. new Promise(请求1)
    2. .then(请求2(请求结果1))
    3. .then(请求3(请求结果2))
    4. .then(请求4(请求结果3))
    5. .then(请求5(请求结果4))
    6. .catch(处理异常(异常信息))

    回调地狱带来的负面作用有以下几点:

    • 代码臃肿。
    • 可读性差。
    • 耦合度过高,可维护性差。
    • 代码复用性差。
    • 容易滋生 bug。
    • 只能在回调里处理异常。