异步和单线程
文章目录
一、同步和异步的区别
answer:
- 异步是基于JS 单线程
- 异步不会阻塞代码的执行
- 同步会阻塞代码的执行
二、手写用Promise 加载一张图片
answer:
function loadImg(src) {
const p = 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
}
)
return p
}
const url1 = 'http://123.57.52.29:8090/upload/2020/3/Pawel%20Nolbert%20%202017-06-13%2002-09-25-2ac8cd6e79794e57a6cdb1e4b7a05e76.jpg'
const url2 = 'http://123.57.52.29:8090/upload/2020/3/Ryan%20Stone%20%202018-08-24%2002-47-49-3390c5dfb2e74bd8a8b964561fcb55e9.jpg'
loadImg(url1).then(img1