老师,在img的onload事件开始之前就把图片url赋值给img的src属性,也可以实现异步加载图片

来源:5-2 Promise的应用

阿惹

2022-05-11 11:55:33

627b33a40001e3bd06850458.jpg我的疑惑是,规范的做法是img.src=url这步操作到底是在图片事件之前还是之后呢。 我的理解是应该在onload事件之前,按照执行顺序,赋值完成之后才可以执行onload事件,这样才可以返回成功状态,异步加载图片才可以实现。 但是视频中老师是把img.src=url放在了图片事件之后,为什么这样也可以实现呢,执行顺序不是从上到下吗,onload事件的那一步还没有获取到img的src属性, 那怎么会返回成功状态呢。
写回答

1回答

好帮手慕久久

2022-05-11

同学你好,解答如下:

1、img.src=url这句代码,写在onload前、后都行。

2、关键点在于onload是事件,图片加载过程是异步的,图片加载成功后,才会触发onload事件。 img.onload = () => {xxx}这句代码,只是给img对象绑定事件onload。

由于将真正的图片加载完成需要时间,而代码执行速度很快,所以先绑定事件、后绑定事件都行(注意图中注释文字):

https://img.mukewang.com/climg/627b4622091865ac05820377.jpg

https://img.mukewang.com/climg/627b466d0905da0e09290398.jpg    


祝学习愉快!

0

0 学习 · 17877 问题

查看课程