题目
同步和异步的区别?
…省略
手写用promise加载一张图片?
<script>
function loadImg(src){
const p =new Promise(
(resolve,reject)=>{//resolve,reject为函数
const img =document.createElement('img')
img.onload=()=>{
resolve(img)
}
img.onerror=()=>{
const err= new Error(`图片加载失败${src}`);
reject(err)
}
img.src=src
}
)
return p
}
// const url1 = 'https://profile.csdnimg.cn/0/6/6/3_weixin_40422539'
// loadImg(url1).then(img=>{
// console.log(img.width)
// return img//返回的值作为
// }).then(img=>{
// console.log(img.height)
// }).catch(ex=>{
// console.error(ex)
// })
const url1='https://profile.csdnimg.cn/0/6/6/3_weixin_40422539'
const url2='https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224'
loadImg(url1).then(img1=>{
console.log(img1.width)
return img1//普通对象
}).then(img1=>{
console.log(img1.height)
return loadImg(url2)
}).then(img2=>{
console.log(img2.width)
return img2
}).then(img2=>{
console.log(img2.height)
}).catch(ex=>{
console.error(ex)
})
</script>
前端使用异步的场景有哪些?
网络请求,图片加载
定时任务如setTimeout