以下函数接受来自 url 的图像,加载它并返回其宽度和高度:
问题是,如果我做了这样的事情:
function getImageData (url) {
const img = new Image()
img.addEventListener('load', function () {
return { width: this.naturalWidth, height: this.naturalHeight }
})
img.src = url
}
问题是,如果我做了这样的事情:
ready () {
console.log(getImageData(this.url))
}
因为函数运行时图片尚未加载,所以我得到了 undefined
。
如何使用 await/async,在图片加载完成并且宽度和高度已经可用时才返回值?