什么是异步
异步:Asynchronous,async是与同步synchronous,sync相对的概念。
传统单线程编程中,程序的运行是同步的,指程序运行在一个控制流之中运行。而异步的概念就是不保证同步的,就是说一个异步过程的执行将不和原有的序列有什么关系。
简单来说就是:同步是按照你写的代码顺序去执行,异步则是不会按照代码顺序执行,从而异步的效率是更高的。
什么时候使用异步编程?
1)在可能发生等待的情况
2)等待过程中不能像alert一样阻塞程序的时候
3)因此,所有的“等待的情况”都需要异步
一句话总结就是需要等待但是又不能阻塞程序的时候需要使用异步
回调函数
回调函数就是一个函数,它是在我们启动一个异步任务的时候就告诉它:等你完成了这个任务之后要干什么。这样一来主线程几乎不用关心异步任务的状态了,他自己会善始善终。
例如:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>javascript 异步编程</title> 6 </head> 7 <body> 8 <p>回调函数等待三秒后执行</p> 9 <p id="demo"></p> 10 <script> 11 function print(){ 12 document.getElementById("demo").innerHTML="javascript 异步编程" 13 } 14 setTimeout(print, 3000) 15 </script> 16 </body> 17 </html>
上述代码中的setTimeout就是一个消耗时间较长的过程,她的第一个参数叫做回调函数,第二个参数是毫秒数,这个函数执行之后会产生子线程,子线程会等待3s,然后执行回调print函数。
当然也可以写成:
1 setTimeout(function (){ 2 document.getElementById("demo").innerHTML="javascript 异步编程" 3 }, 3000)
异步Ajax
标签:异步,编程,函数,JavaScript,javascript,print,等待 From: https://www.cnblogs.com/wenzm/p/17083211.html