js中同步與異步處理的方法和區(qū)別總結
更新時間:2013年12月25日 16:31:40 作者:
若要在使用ajax請求后處理發(fā)送請求返回的結果,最好使用同步請求,下面為大家介紹下js中同步與異步處理的方法和區(qū)別,感興趣的朋友不要錯過
在使用異步請求時,有時需要將異步請求的結果返回給另一個js函數(shù),此種情況下會出現(xiàn)未等異步請求返回請求結果,該發(fā)送請求所在js函數(shù)已經(jīng)執(zhí)行完后續(xù)操作,即已經(jīng)執(zhí)行return ,這樣會導致return的結果為空字符。
總結:若要在使用ajax請求后處理發(fā)送請求返回的結果,最好使用同步請求。
例如:以下例子會出現(xiàn)返回結果不正確的情況,因為ajax異步請求還未執(zhí)行完,函數(shù)已經(jīng)執(zhí)行return了,
function fn(){
var result = " ";
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
success : function (data){
do something....
result = ....
}
// 對ajax中返回的data進行處理 ,也會出錯
return result ;
}
1 異步請求方式:
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2 同步請求方式
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : false,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
總結:若要在使用ajax請求后處理發(fā)送請求返回的結果,最好使用同步請求。
例如:以下例子會出現(xiàn)返回結果不正確的情況,因為ajax異步請求還未執(zhí)行完,函數(shù)已經(jīng)執(zhí)行return了,
復制代碼 代碼如下:
function fn(){
var result = " ";
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
success : function (data){
do something....
result = ....
}
// 對ajax中返回的data進行處理 ,也會出錯
return result ;
}
1 異步請求方式:
復制代碼 代碼如下:
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2 同步請求方式
復制代碼 代碼如下:
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : false,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
相關文章
js+CSS實現(xiàn)模擬華麗的select控件下拉菜單效果
這篇文章主要介紹了js+CSS模擬select控件下拉菜單效果,通過javascript鼠標事件結合css控制實現(xiàn)select下拉菜單效果,整體效果華麗美觀,需要的朋友可以參考下2015-09-09js實現(xiàn)兼容PC端和移動端滑塊拖動選擇數(shù)字效果
這篇文章主要為大家詳細介紹了js實現(xiàn)兼容PC端和移動端滑塊拖動選擇數(shù)字的效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02JavaScript+html5 canvas繪制的圓弧蕩秋千效果完整實例
這篇文章主要介紹了JavaScript+html5 canvas繪制的圓弧蕩秋千效果,以完整實例形式分析了JavaScript集合html5的canvas繪制圖形的相關技巧,需要的朋友可以參考下2016-01-01javascript之通用簡單的table選項卡實現(xiàn)(二)
上篇中的選項卡存在這樣的問題:把邏輯封裝在table.js中,不夠靈活,也就是說如果某個選項卡是實現(xiàn)異步請求或者跳轉,而非div的顯隱切換,那么就得修過table.js來達到目的,顯然不是我所需要的。2010-05-05