对Promise的理解
概念
Promise 对象是异步编程的一种解决方案。Promise 是一个构造函数,接收一个函数(executor)作为参数,返回一个 Promise 实例。
一个 Promise 实例有三种状态,分别是pending、fulfilled和rejected,分别代表了进行中、已成功和已失败,
实例的状态只能由 pending 转变 fulfilled 或者 rejected 状态,并且状态一经改变,就凝固了,无法再被改变。
状态改变是通过 resolve() 和 reject() 函数来实现的,可以在异步操作结束后调用这两个函数改变 Promise 实例的状态,
它的原型上定义了一个 then 方法,使用这个 then 方法可以为两个状态的改变注册回调函数。这个回调函数属于微任务,会在本轮事件循环的末尾执行。
注意:在构造 Promise 的时候,构造函数内部的代码是立即执行的。