1、概念:
Promise 是异步编程的一种解决方案:
从语法上讲,promise是一个对象,从它可以获取异步操作的消息;
从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。
promise有三种状态:pending(等待态),fulfiled(成功态),rejected(失败态);状态一旦改变,就不会再变。创造promise实例后,它会立即执行。
promise有两种结果:fulfilled rejected
2、Promise的特点
(1)对象的状态不受外界影响(Promise 对象代表一个异步操作,有三种状态:Pending(进行中)、Resolved(已完成)和Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。)
(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果
3、promise是用来解决两个问题的
- 回调地狱,代码难以维护, 常常第一个的函数的输出是第二个函数的输入这种现象
- promise可以支持多个并发的请求,获取并发请求中的数据
- 这个promise可以解决异步的问题,本身不能说promise是异步的
4、应用场景
(1)用promise对vue中的axios请求,进行了异步封装,当我调用这个封装好的函数时,可以传入对应的请求方式。
(2)用它封装了ajax进行图片异步加载的案例。