1.单线程和异步:
(1:JS是单线程语言,只能同时做一件事
(2:浏览器和Nodejs已支持JS启动进程,如WebWorker
(3:JS和DOM渲染共用同一个线程,因为JS可修改DOM结构
2.单线程与异步:
(1:遇到等待(网络请求,定时任务)不能卡住,故需要异步(回调callBack函数形式
3.异步与同步:
(1:基于JS是单线程语言
(2:异步不会阻塞代码执行
(3:同步会阻塞代码执行
异步:
同步:
异步 应用场景:
(1:网络请求,如AJAX图片加载
(2:定时任务,如setTimeout
promise产生的原因:
为了解决callback hell
手写promise加载一张图片
function loadImg(src){
const p = new Promise(
(resolve,rejecct)=>{
const img = document.createElement('img')
img.onload=()=>{
resolve(img)
}
img.onerror = () = >{
const err = new Error(`图片加载失败${src}`)
reject(err);
}
img.src=src;
}
)
return p;
}
标签:异步,const,img,05,单线程,JS,面试,src From: https://www.cnblogs.com/qwqxyd/p/16720769.html