Promise是解决js异步的一种方案,相比较于传统的回调函数,Promise能解决多个回调严重嵌套的问题。
ES6规定,Promise对象是一个构造函数,用来生成Promise实例。
Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve和reject。它们是两个函数,由JavaScript引擎提供,不用自己部署。
resolve函数的作用是将Promise对象的状态从“未完成”变为“成功”,在异步操作成功时调用,并将异步操作的结果,作为参数传递出去。
reject函数的作用是将Promise对象的状态从“未完成”变成“失败”,在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
then方法是定义在Promise.prototype上的方法,有两个参数,fulfilled的回调函数和rejected的回调函数,第二个参数是可选的。