除了面试题上准备的这些:
1、主要用来解决异步问题和回调地狱问题(那种异步嵌套异步的)。
2、promise是一个容器,存放着某个未来才会结束的事件的结果(通常是一个异步操作的结果)。
3、从语法上说,promise是一个对象,可以从它获取异步操作的最终状态(成功或失败)。
4、promise是一个构造函数,这个回调函数中放的是异步操作,对外提供统一的API,自己身上有all,reject,resolve等方法,原型上有then,catch等方法。(ps:注意new Promise((resolve,reject)=>{}) 中参数是一个回调函数,回调函数有两个参数)
其他理解:
1、promise是一个异步编程的解决方案,用这个不用一个个嵌套也能按想要的顺序得到结果了。
2、promise是es6新增的API,用于异步任务的封装。
3、promise它内部还会切换3种不同的状态:
一个 Promise
必然处于以下几种状态之一,而且进入一个状态后不会回头变成别的状态:
待定(pending):初始状态,既没有被兑现,也没有被拒绝。
已兑现(fulfilled):意味着操作成功完成。
已拒绝(rejected):意味着操作失败。
4、微任务:Promise.then()、.catch()、finally()