我想在han方法res赋值成功后,再执行han1进行其他赋值操作,但是不能在han的then中进行han1中的赋值(实际情况中,han方法要复用)
这个时候我发现han中promise 不添加return的情况下,han1中的赋值为空。使用return之后,赋值正常,代码如下:
我不理解的是这个return,为什么会造成这个结果,求大佬解答
不return的时候,han方法的返回值默认是个void
而下面调用的时候很明显的用了await,await一个void是没有意义的,并不会等待这个方法,下面的han2直接就执行了,这个时候han1可能还没还执行完,res2自然取不到值。
new Promise相当于创建了一个异步方法,使用await才能“等待”这个方法,拿到结果,然后继续往下执行。