首先executor(resolve,reject)会try,然后最开始肯定是pending状态,会将回调函数调到列队中。首先是初始化了一个Promise实例,并定义了状态、值、成功回调和失败回调,并使用that来指向调用者。try尝试执行executor函数,并传入resolve和reject,当发生err的时候捕捉err。首先定义了一个函数ajax,并有四个传值,这边可以看下实例,来了解参数定义。这边是调用了resolve,他会更换状态并且执行列队中的函数。这里面有很多可能不认识的东西,要逐一了解下。