Promise的then⽅法和catch⽅法
resolved是什么状态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后,传递来的错误信息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论