var async=function(callback){ //read data setTimeout(function(){ callback("data"); },1000);//1秒後回撥};//使用async(function(data){ alert(data);});
示例2
var async=function(callback){ var xhr=new XMLHttpRequest(); xhr.open("get",".",true); xhr.onreadystatechange=function(){ callback(xhr.readyStatus); }; xhr.send();};async(function(data){ alert(data);});
示例3
var async=function(callback){ var img=new Image(); img.onload=img.onerror=function(){ callback(img); }; img.src="x.jpg";};async(function(data){ alert(data);});
非同步處理不用阻塞來等待處理完成,而是允許後續操作,直至其程式將處理完成,並回調通知此函式
那麼在js中有如下幾種非同步方式:
示例1
var async=function(callback){ //read data setTimeout(function(){ callback("data"); },1000);//1秒後回撥};//使用async(function(data){ alert(data);});
示例2
var async=function(callback){ var xhr=new XMLHttpRequest(); xhr.open("get",".",true); xhr.onreadystatechange=function(){ callback(xhr.readyStatus); }; xhr.send();};async(function(data){ alert(data);});
示例3
var async=function(callback){ var img=new Image(); img.onload=img.onerror=function(){ callback(img); }; img.src="x.jpg";};async(function(data){ alert(data);});