Promise.all(imgs.map(src =>loadImg(src)))
这句话是真的很难理解,我是这样想的Promise.all接受多个promise对象这个我知道就是要括号内返回多个promise对象,再往里面一层,imgs.map((src =>loadImg(src))我就不明白了,首先就蹦出个map方法根本没有听过具体到底怎么用老师直接一句话带过好像大家都无师自通一样,你说遍历吧,不应该是(img.maps(src)) =>loading (src)这样写吗,老师这种写法按之前的教我们思维只能把 src => loading(src)当作是imgs.map()的参数吧,那这样怎么出的来三个对象呢,明明是loadImg()里才能返回promise对象才对吧??说到底还是对这个map完全不了解也没交过。第二个就是 src => loading(src)这个写法之前好像就没有吧, src是参数 后面不是 src => { ...}不是这样写吗
正在回答 回答被采纳积分+1
同学你好,同学的疑惑,主要源自是map方法不会使用,现将map方法的使用,做如下说明:
map方法,是数组新增的方法,它会返回一个新数组,新数组中的元素是原始数组中的元素,调用函数,处理后的值。如下:
它可以简写成如下形式:
上面的简写形式,对应了promise.all中的写法,如下:
因此,imgs.map(src => loadImg(src))是遍历imgs数组中的每一项,对每一项(图片路径)调用loadImg()方法,然后将返回的结果(数组),传给Promise.all()方法。其中“imgs.map(src => loadImg(src))”的结果是个promise对象构成的数组。
由于js的方法很多,课程中不可能全部讲到,只能在实践中,遇到了,再补充。同学可以参考一下:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map 中对map的讲解,主要看例子就行,会简单使用即可。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星