什么情况下会用到Promise?
一般情况下是有异步操作时,使用Promise对这个异步操作进行封装
Promise的方法解析
new -> 构造函数(1.保存了一些状态信息 2.执行传入的函数)
在执行传入的回调函数时,会传入两个参数(resolve:处理下一步信息,reject:处理错误信息,这两个参数本身又是函数)

new Promise很明显是创建一个Promise对象 p小括号中((resolve, reject) => {})也很明显就是一个函数,而且我们这里用的是之前刚刚学习过的箭头函数。
但是resolve, reject它们是什么呢? ü我们先知道一个事实:在创建Promise时,传入的这个箭头函数是固定的(一般我们都会这样写)
resolve和reject它们两个也是函数,通常情况下,我们会根据请求数据的成功和失败来决定调用哪一个。 p成功还是失败?
如果是成功的,那么通常我们会调用resolve(messsage),这个时候,我们后续的then会被回调。 ü如果是失败的,那么通常我们会调用reject(error),这个时候,我们后续的catch会被回调。
Promise到底是做什么的呢?
Promise三种状态
ppending:等待状态,比如正在进行网络请求,或者定时器没有到时间。
pfulfill:满足状态,当我们主动回调了resolve时,就处于该状态,并且会回调.then()
preject:拒绝状态,当我们主动回调了reject时,就处于该状态,并且会回调.catch()
