首页 新闻 会员 周边 捐助

函数中使用promise,返回和不返回promise有什么区别

0
[已解决问题] 解决于 2022-07-27 14:34

解释下下面代码的意思:

  我想在han方法res赋值成功后,再执行han1进行其他赋值操作,但是不能在han的then中进行han1中的赋值(实际情况中,han方法要复用) 
  这个时候我发现han中promise 不添加return的情况下,han1中的赋值为空。使用return之后,赋值正常,代码如下:

加了return结果:

没有加return结果:

我不理解的是这个return,为什么会造成这个结果,求大佬解答

继君的主页 继君 | 菜鸟二级 | 园豆:202
提问于:2022-07-24 17:16
< >
分享
最佳答案
0

不return的时候,han方法的返回值默认是个void
而下面调用的时候很明显的用了await,await一个void是没有意义的,并不会等待这个方法,下面的han2直接就执行了,这个时候han1可能还没还执行完,res2自然取不到值。
new Promise相当于创建了一个异步方法,使用await才能“等待”这个方法,拿到结果,然后继续往下执行。

奖励园豆:5
顾星河 | 大侠五级 |园豆:7281 | 2022-07-25 09:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册