一、异步和同步的区别
同步:
JS是单线程语言,只能同时做一件事儿。js任务需要排队顺序执行,如果一个任务时间过长,后边的任务也会等着。假如,我们在请求一个网址时,图片加载很慢,网页总不能一直卡不出来,这个时候就可以用异步来解决了。
异步:
异步就是由单线程这个背景而来的,解决了单线程等待的这个问题,异步的特点不会阻塞后面代码的执行。也就是请求处理过程中,你不能闲着,会产生异步的请求,回头再处理,然后继续执行下面的请求
异步和单线程是相辅相成的,js是一门单线程脚本语言,所以需要异步来辅助
二、手写用Promise加载一张图片
// 创建一个函数
function requestImg(){
// 创建一个promise对象
var p= new Promise(function(resolve,reject){
// 创建一个图像对象
var img=new Image();
// 图像在页面加载完成后执行成功的回调
img.onload=() =>