javascript – 返回值并从函数返回Promise.resolve()之间的区别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 返回值并从函数返回Promise.resolve()之间的区别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1725字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 返回值并从函数返回Promise.resolve()之间的区别](/upload/InfoBanner/zyjiaocheng/754/486d386c18254e89a35ccca9c16d4d7e.jpg)
我有理解当我们简单地返回一个值或者从函数返回Promise.resolve()时会发生什么.具体来说:我试图理解promises链是如何工作的.我正在链接方法并验证值是否在最后调用的方法中到达.我只是想了解返回promises到那时之间的区别,然后返回Promise.resolve(),然后返回一个值.
解决方法:
I have problem in understanding that what happens when we simply return a value or when we return
Promise.resolve()
from a function.
所以(至少)有两种不同的场景:
在任何旧功能
如果它只是任何旧函数(不是then或catch回调),那么区别在于返回值;直接返回值,而返回Promise.resolve(value);返回使用该值解析的promise.它改变了调用代码使用结果的方式.在返回值;例如,调用代码只是直接使用它.在返回Promise.resolve(value);例如,调用代码需要使用promise,就像任何其他promise一样(并且不能假设promise已经解决,即使它已经解决).
如果该函数是一个promise链的开头,那么你将使用return Promise.resolve(value);. (有用例;例如,如果函数可能需要也可能不需要启动异步进程:在不需要的分支中,你仍然会返回一个promise,因为分支必须做某事异步必须返回一个promise.)如果不是,你只需要使用返回值;.
在那时或赶上回调
I am trying to understand how promises chaining works.
在那种情况下,你谈的是回报价值; vs return Promise.resolve(value);在一个then或catch回调.这很容易:返回Promise.resolve(值)毫无意义;在一个then或catch回调中,它是多余的和不必要的开销;只需使用返回值;
然后捕捉总是回报承诺.如果您的回调返回一个简单值(返回值;),则使用该值解析promise.如果你的回调返回一个thenable(松散地,一个promise;例如,返回Promise.resolve(value);),那么then / catch返回的promise将从属于那个:当thenable结算时,promise会被解决办法. (如果你的then或catch回调引发了错误,则该错误会拒绝承诺.)
如果你在该回调中启动一个新的异步进程,那么有正当理由从then或catch回调中返回一个promise;但是如果你已准备就绪,那么将它包装在一个承诺中是没有意义的 – 然后抓住已经做到了.
内容总结
以上是互联网集市为您收集整理的javascript – 返回值并从函数返回Promise.resolve()之间的区别全部内容,希望文章能够帮你解决javascript – 返回值并从函数返回Promise.resolve()之间的区别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。