Promise的then方法和catch方法


1、Promise.prototype.then()方法显然就是Promise的精华。函数声明:p.then(resolve, reject);。
then()方法不是静态方法,需要经由Promise实例对象来调用。
then方法有两个参数,第一个参数是Promise实例对象为Resolved状态时的回调函数,它的参数就是上面Promise构造函数里resolve传递过来的异步操作成功的结果。

第二个参数可选,是Promise实例对象为Rejected状态时的回调函数,它的参数就是上面Promise构造函数里reject传递过来的异步操作失败的信息。

then方法最强大之处在于,它内部可以使用return或throw来实现链式调用。使用return或throw后的返回值是一个新的Promise实例对象(注意,不是原来那个Promise实例对象):

2、Promise.prototype.catch()同样是实例方法,需要经由Promise实例对象来调用,用于Promise实例对象状态为Rejected的后续处理,即异常处理。函数声明:p.catch(reject);

catch方法本质上等价于then(null, reject),参数reject是一个回调函数,它的参数就是Promise对象状态变为Rejected后,传递来的错误信息。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM