在JavaScript的世界中,所有代码都是单线程执行的。
由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都是必须异步执行的。
异步执行可以用回调函数实现:
function callback(){
console.log('done');
}
console.log('before setTime --------1');
setTimeout(callback,1000); // 1秒后调用 callback函数
console.log('after setTime ---------2');
结果截图如下:
ajax就是一个典型的异步操作。
例子如下:
同步队列(for、if )、异步队列(setTimeout 、setInterval 、ajax)
“同步”:就是后一个任务等待前一个任务执行完毕后,再执行,执行顺序和任务的排列顺序一致。
“异步”:就是每一个任务都有一个或多个回调函数,当前任务结束的时候,不去执行下一个任务,而是执行自己的回调函数。
为什么要使用异步操作呢?