Promise 是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异步操作,用同步代码的形式表达出来。避免了多级异步操作的回调函数嵌套。
是一个容器,里面保存着某个未来才会结束的事件结果(异步代码)。
从语法上讲,promise是一个对象,它可以获得异步操作的消息,promise提供了统一的API,各种异步操作都可以用同样的方法进行处理
实现多个回调函数嵌套使用,解决回调地狱问题,将函数嵌套调用变为评级调用(改变回调函数传参问题)
o 主要用于异步计算
o 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
o 可以在对象之间传递和操作 promise,帮助我们处理队列
Promise 是一个对象,它的内部其实有三种状态。
o 初始状态( pending )。
o 已完成( resolve):resolve 方法可以使 Promise 对象的状态改变成成功
o 已拒绝( reject ):reject 方法则是将 Promise 对象的状态改变为失败
• Promise 常用的三种方法
o 第一种:then 表示异步成功执行后的数据状态变为 resolve
o 第二种:catch 表示异步失败后执行的数据状态变为 reject
o 第三种:all 表示把多个没有关系的 Promise 封装成一个 Promise 对象使用
then 返回一个数组数据。