老师,还是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),所以会找到迭代中的第一个值


1
0

慕粉1926294646

2020-05-02

你把 console.log(response)改成console.log('res',response)

0
0

再学JavaScript ES(6-10)全版本语法大全

前端无门槛学习,从ES6到ES10,一套课程掌握JS最新语法

1182 学习 · 336 问题

查看课程