请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,为什么promise.race()中的两个promise对象不是先执行第一个在执行第二个呢?

老师,为什么promise.race()中的两个promise对象不是先执行第一个在执行第二个呢?代码不是从上到下开始执行吗?

正在回答 回答被采纳积分+3

1回答

谢成 2020-06-26 23:42:16

https://img1.sycdn.imooc.com/szimg/5ef616a20990de4414770969.jpg

https://img1.sycdn.imooc.com/szimg/5ef617510991aa3211460466.jpg


https://img1.sycdn.imooc.com//szimg/5ef616c4095b80f309410341.jpg


我没太明白问题想问的是什么。

课程中的例子,是先执行getImg,后执行timeout。但谁先返回结果就要看异步操作的执行时间了。 想问的是这个问题吗?

1 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕斯9403011 #1
    谢谢老师,我开始理解的是他们在一个线程里第一个函数执行完成返回结果后才会执行第二个函数,这样就做不到竞赛了。我后来查了查,我的理解是这两个函数异步操作进入Event Queue时排队的已经是函数的执行结果了,最后读取到主线程的也是结果,他们是在您写的ppt中的Event Table中是有多线程同时执行两个函数吗的是吗?如果我的理解不对,只有一个主线程先后执行两个函数,又是怎么做到比赛谁先返回结果呢,不会第一个执行返回结果后再开始执行第二个结果吗?打扰老师了,一开始问题描述的不太清楚。
    回复 有任何疑惑可以回复我~ 2020-06-27 00:35:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信