const url = 'https://xxx.png'function loadImg(src) { return new Promise( (resolve, reject) => { const img = document.createElement('img') img.onload = () => { resolve(img) } img.onerror = () => { const err = new Error(`图片加载失败 ${src}`) reject(err) } img.src = src } )}loadImg(url).then(img => { console.log(img.width) return img}).then(img => { console.log(img.height)}).catch(err => console.error(ex))
// 多张图片const url1 = 'https://xxx.png'const url2 = 'https://xxx.png'function loadImg(src) { return new Promise( (resolve, reject) => { const img = document.createElement('img') img.onload = () => { resolve(img) } img.onerror = () => { const err = new Error(`图片加载失败 ${src}`) reject(err) } img.src = src } )}loadImg(url1).then(img => { console.log(img1.width) return img1 // return 普通对象}).then(img1 => { console.log(img1.height) return loadImg(url2) // return promise 实例}).then(img2 => { console.log(img2.height) return img2}).then(img2 => { console.log(img2.width) })