我也来说说promise

1,promise本质上是构造函数

2,promise()接受一个函数fn作为参数,fn内置了两个函数作为自己的参数,resolve和reject

3,fn里随便写,当你啥时候想让promise满足的时候,调用resolve(),有时候设定一些promise被拒绝的情况,调用reject()

4,resolve()可以传值,那么这个值可以是一般值(数字,字符串,对象,数组等等),也可以是一个函数,甚至是又一个promise对象

5,resolve()和reject()传出来的值就是它的参数的返回值,resolve()的值和reject()的值都被then调用(then默认接受两个函数作为参数,但是一般只写处理resolve的函数),then处理reject的值被后面的catch调用

6,catch相当于then(null,failureHandler()),处理的是上一个then失败的情况

7,想要某个函数?拥有promise功能,只需让其返回一个promise即可。如果想制造一个处理成功了的promise,可以return promise.resolve(value),如果想制造一个处理失败了的promise,可以return promise reject(reason)

8,then要想拿到上面then的值,一定要在前一个then里return值


你可能感兴趣的:(我也来说说promise)