老师。报错 Cannot read property 'then' of undefined
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//补充代码
function img(url){
new Promise(resolve=>{
resolve();
var myImg=document.createElement('image');
myImg.src=url;
document.body.appendChild(myImg);
setTimeout(function(){
resolve();
},1000)
})
}
img('http://img1.sycdn.imooc.com/climg//5b16558d00011ed506000338.jpg')
.then(function(){
console.log('第一张');
return img('http://img1.sycdn.imooc.com/climg//5b165603000146ca06000338.jpg');
})
.then(function(){
console.log('第二张');
return img('http://img1.sycdn.imooc.com/climg//5b1656140001c89906000338.jpg');
})
.then(function(){
console.log('图片加载完成');
})
</script>
</body>
</html>
正在回答
同学你好,问题解答如下:
1.这是因为函数img没有返回Promise对象,那么返回值为undefined,undefined后面不能调用then方法,所以报错。
2.图片标签应该使用img。
3.resolve有一个多余的需要去掉
针对以上问题,如下修改:

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星