老师,还是Promise的问题
来源:2-44 Promise

天河卢姥爷
2020-04-29
老师,这个是我的原始代码
然后这个是我的执行结果,为什么这里它得出的是1,而不是33,而且我里面输入的值里也没有1这个数字啊
写回答
2回答
-
qq_乱舞春秋_2
2020-08-04
你好,我试了这个问题,说一说自己的看法,不一定对,你听下
电子书最后阅读的第一个链接有一个promise的讲解,你看下Promise.race()方法的描述: "如果迭代包含一个或多个非承诺值和/或已解决/拒绝的承诺,则 Promise.race 将解析为迭代中找到的第一个值"
1.setTimeout的返回值是它的唯一标示符,这里a返回的是1
2.这个值是立即返回的(你可以试着把a的setTimeout时间改成10秒钟,然后输出a,你会发现是立即返回)
3.综上所述,race方法中的值其实是已经固定的[1, 2, 33](即a和b都是输出的标识符,c输出的33),所以会找到迭代中的第一个值
10 -
慕粉1926294646
2020-05-02
你把 console.log(response)改成console.log('res',response)
00
相似问题