温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Promise中resolved和fulfilled有什么关系

发布时间:2021-09-22 14:19:17 来源:亿速云 阅读:232 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关Promise中resolved和fulfilled有什么关系,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  fulfilled的理解:

    我知道Promise构造函数接受一个函数作为参数吗,并且该函数可以接受两个参数(也是方法,由js引擎提供)resolve,reject,两个词分别的意思是“解决”和“拒绝,丢弃”。字面上很好理解,其实就是通过这两个方法将Promise的状态由pending转化为fulfilled和rejected的。

      pending->resolve方法->fulfilled

      pending->reject方法->rejected

    由此可以见我的理解就是那些说什么resolved的就是fulfilled状态的,从英语的语法resolved的是resolve的过去式,那就是说“解决了”,那不就是代表了解决了就成功了,所以按照上面流程也正是fulfilled的状态吗,那resolved和fulfilled同一状态咯

    但是从另一个角度又感觉站不住脚,应为解决了就一定是成功了吗???!!!想得有点(‘.’)

  promise章节fulfilled的部分段落

    从这个话语中很明显知道,阮神指的resolved也正是我的困扰点,他这里说的明显可以看出来resolved暂指fulfilled状态,要是不是本文呢,要是实际过程中呢,resolved不一定表示状态变为fulfilled状态了,而是会有其他可能,比如说转变为了rejected状态了呢?!

  紧接着问一句,catch,then等回调函数返回的都是resolve的Promise,

    那么请再一次允许我引阮神的promise.all中的原句子:

  上面代码中,promises是包含6个Promise实例的数组,只有这6个实例的状态都变成fulfilled,或者其中有一个变为rejected,才会调用Promise.all方法后面的回调函数。

    所以只有这有状态都变为fulfilled才能执行all后面的回调函数咯!!!

    上图就是描述其实就是:all里面的promise有自己的catch方法时,该promise变为rejected时触发的是自己promise的catch方法,不会触发all方法外面接着的promise的catch方法

    原因很简单:子catch方法回调结束后返回又是一个resolved状态的promise,所以最终接受的子都是resolved的状态的

关于“Promise中resolved和fulfilled有什么关系”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI