在Promise的内部函数使用reject和return reject有什么区别

发布于 2022-09-07 12:15:24 字数 167 浏览 8 评论 0

在Chrome中都能运行,程序详情如下图:

clipboard.png

只要执行reject, 就会回退当前的任务队列到Project同级的状态?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

〆凄凉。 2022-09-14 12:15:24

return reject没有特殊意义。 Promise是通过resolvereject使得Promise变成完成或失败状态的,你的return reject('2')是执行了reject('2')而跳出的。
如果提前return会导致Promise为pending状态。

岁吢 2022-09-14 12:15:24

return会跳出函数,不return如果你reject后面还有代码,会执行的

-小熊_ 2022-09-14 12:15:24

这里reject是一个函数,你的函数定义是什么?

注定孤独终老 2022-09-14 12:15:24

没啥区别,和前面两个大佬回答的一样。就是中断当前函数执行。如果没有 return,后面会继续进行,如果后面还有 rej/res 执行时没有效果的。

new Promise((res,rej)=>{
    res();
    console.log(1);
    rej();
    console.log(2)
})

直接输出: 1,2。并且此时是 resolve 状态。

Promise {<resolved>: undefined}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文