- Promise可以解决并发问题
- Promise可以解决链式调用问题,解决多个回调嵌套问题
- 每次new一个Promise,都需要传递一个执行器,执行器立马执行
- 执行器有2个参数:resolve、reject,调用resolve就是成功,调用reject就是失败
- 默认Promise有3个状态:pending(等待态)、fulfilled(成功态)、rejected(失败态),pending=>fulfilled表示promise成功了,pending=>rejected表示promise失败了
- Promise一旦成功就不能变成失败态,一旦失败也不能变成成功态了
- 每个Promise实例都有一个then方法,then会返回一个全新的Promise实例
如果then的成功或者失败的结果中,返回的还是一个promise,则会等待这个promise的执行结果,并将结果向外层的下一个then传递,并将结果传递到参数中 如果then(成功方法、失败方法)抛出异常的时候,会走下一次then的失败
- 返回一个失败的promise
- 抛出异常
返回一个既不成功也不失败的promise