在整个html中,加载有多种,js加载,css,img,音视频,但是只有js是阻塞式同步加载,其他全部是异步加载
异步:执行需要时间,不影响后面代码的运行
同步: 需要等待
事件属于同步还是异步?
我对事件理解是,事件触发是异步过程,而事件本身是同步的。
脚本中的 async 和 defer
async: 会将脚本由阻塞式同步加载变成异步加载
defer: 将脚本延迟到页面加载后开始执行
通道阻塞:
在浏览网页中,有时看到只有文字,图片和样式都没加载出啦,这种情况是由于js阻塞式加载发生了阻塞,阻塞后css、img都无法加载上。使用阻塞式加载好处是,速度快,缺点是可能发生通道阻塞问题。
函数中的 async 和 await
1 // async 函数
2 async function abc(){
3 return 10;
4 }
5 abc().then(function(num){
6 console.log(num);
7 })
8
9 // async函数执行以后返回一个promise对象
10 // async函数中return 的结果需要通过这个函数返回的promise对象中then里面的函数参数获取
// await关键词可以在async中使用,但是await只能用于promise对象的前面
async function abc(){
console.log("aaa");
// 将Promise异步转换成了阻塞式同步
await Promise.resolve().then(function(){
console.log("bbb");
})
console.log("ccc");
}
abc();
//输出结果 bbb ccc
3198

被折叠的 条评论
为什么被折叠?



