Promise.resolve( data)与Promise.reject( data )
常用来生成已经决议失败或成功的promise实例;
1、Promise.reject(data)不管传递的是什么值,只要决议为失败,后面就不会进行任何处理,而是执行then里的reject方法,使用前面的data值进行处理;
2、Promise.resolve(data)传递的值有以下几种:【Promise.resolve(data)不管传入的值是什么类型,都会进行包装,使返回结果是promise实例】
1)传递一个普通的值(字符串、数字等)【可以直接使用Promise.resolve(data)的方式来传递数据,和new Promise(resolve => { resolve(data);});是等价的,一样的效果】
2)直接传递一个promise实例就直接返回传递过去的promise实例。
3)传递一个thenable对象
鸭子类型:传递一个thenable,thenable就是具有then( )方法的一个对象;
Promise.resolve(obj).then(data =>{console.log(data)}
obj对象看着像promise,他就是promise,obj就是thenable对象。