javascript异步编程
异步(Asynchronous,async)是与同步(Synchronous,sync)相对的概念
在我们学习的传统单线程编程中,程序的运行是同步的(同步不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行)。而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系,异步的执行效率更高
异步就是从主线程发射一个子线程来完成任务,子线程独立于主线程,所以即使出现阻塞也不会影响主线程的运行。但是子线程有一个局限:一旦发射了以后就会与主线程失去同步,我们无法确定它的结束。javascript中的异步操作函数往往通过回调函数来实现异步任务的结果处理
回调函数
它在启动一个异步任务的时候定义完成了上面的任务之后要干什么
setTimeout(func, time):第一个参数是个回调函数,第二个参数是毫秒数
比如:
<p>回调函数等待 3 秒后执行</p> <p id="demo"></p> <script> function print() { document.getElementById("demo").innerHTML="回调函数来了!"; } setTimeout(print, 3000); </script>
代表setTimeout()函数执行之后会产生一个子线程,子线程会等待 3 秒,然后执行回调函数print
异步AJAX
这在以后会详细介绍
浙公网安备 33010602011771号