1.promise是什么:
promise是一个对象,内部一般会封装一些异步操作,并且传递异步操作的结果。
2.promise有三种状态:
- pending:等待中,promise对象已被创建出来,默认就是pending状态
- resolved/fulfilled:意味着操作成功
- rejected:意味着操作失败
3.promise内部做了什么:
promise对象内部会提供两个函数,resolve和reject
- 当操作成功的时候调用resolve函数,将promise的pending状态修改为resolved状态,这样promise调用执行相关程序,就是.then方法中配置的成功的回调函数
- 当操作失败的时候调用rejecte函数将promise的pending状态修改为rejected状态,这样当promise调用执行相关程序,就是.catch中配置的失败的回调函数
过程:
创建promise对象---->>进入pending状态----->>在promise内部封装异步操作
------>>异步操作成功----->>调用resolve函数------>>修改pending状态为resolved状态------>>可调用.then中成功的回调函数
------>>异步操作失败----->>调用reject函数------>>修改pending状态为rejected状态------>>可调用.catch中失败的回调函数
另:
如果promise的状态已经从pending进入resolved或者rejected状态,那么promise的状态不会再改变,此时promise的状态已经被锁定(settled)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。