什么是Promise
Promise通常是经过一个异步操作后返回一个结果,是异步编程的一种解决方案。可以获取异步操作的消息。
Promise的特点
(1)对象状态不受外界影响。
Promise有三个状态:
pending(进行中),fulfilled(已成功),rejected(已失败)。
只有异步操作的结果才可以决定当前是那种状态。
(2)从等待状态变为其他状态就永远不能更改状态了。
Promise有两种状态的改变:
pending——>fulfilled
pending——>rejected
当状态改变结束后成为resolve,状态改变为resolve后,就不能再次改变了。
(3)一旦新建promise就会立即执行,无法中途取消。
(4)如果不设置回调函数callback,promise抛出的内部错误就不会反应到外部。
(5)处于pending状态时,无法得知进行到哪一阶段。
(6)可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果
(7)可以在对象之间传递和操作 promise,帮助我们处理队列
Promise在项目中的使用:
结合项目的登录和获取用户信息
actions中Login方法 接收到传递过来参数,然后返回的是Promise对象,这个Promise对象里面 有执行axios的login方法,axios 的login 如果成功,就传递resolve携带的值,如果失败就传递reject携带的值。