js 中怎样让语句在 img onload 之后按顺序执行?

2018-05-18 18:39:07 +08:00
 Reign
var size=[];
var img=new Image();
img.src="https://i0.pickpik.com/photos/333/210/523/chipmunk-garden-spring-flowers-thumb.jpg";
img.onload=function()
{
	size=[img.naturalWidth,img.naturalHeight];
}
var sum=size[0]+size[1];
console.log(sum);
//继续执行下面大量语句

上述代码中,要等 img onload 执行完之后再按顺序执行以下语句,我不希望把下面的语句都放在 img onload 里面,求 V 友该怎么做?

3148 次点击
所在节点    程序员
3 条回复
7anshuai
2018-05-18 19:50:34 +08:00
img onload 里加个 callback 调用,或者试试 async.js
KuroNekoFan
2018-05-18 20:19:19 +08:00
除了 async/await 应该没有别的办法了,如果一层嵌套都受不了的话
lamada
2018-05-18 21:03:59 +08:00
await loadImage()

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/455980

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX