wfp老师,我将这节代码用 ES6 语法修改了下,结果报错

来源:2-14 promise - 语法

心有猛虎_细嗅蔷薇

2018-05-30

		function loadImg(src) {
			return new Promise((resolve, reject) => {
				let img = document.createElement('img')
				img.onload = () => resolve(img)
				img.onerror = () => reject()
				img.src = src
			})
		}

		const src = 'https://www.imooc.com/static/img/index/logo.png'

		loadImg(src).then((img)=> {
			console.log(img.width)    // 成功打印 200
		}).then((img) => {
			console.log(img.width)    // TypeError: Cannot read property 'width' of undefined
		}).catch(error => {
			console.log(`${error}`)
		})

为什么链式调用 第二次的时候报错呢?该怎么修改?

写回答

1回答

双越

2018-05-30

第一个 then 函数最后加上 return img 。这个我在 promise 最后一节自己加了一个问题,说明了这个情况,视频中讲的有点疏漏。

有问题再随时回复。感觉课程有帮助,欢迎给课程一个好评。

0
4
双越
回复
心有猛虎_细嗅蔷薇
有问题再随时回复。感觉课程有帮助,欢迎给课程一个好评。
2018-05-30
共4条回复

前端跳槽必备 一线互联网公司高级前端JavaScript面试

视频讲解前端面试中的JS高级知识点,扩展JS知识深度,从容面试

1621 学习 · 218 问题

查看课程