最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談js的ajax的異步和同步請求的問題

 更新時間:2016年10月07日 12:01:42   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談js的ajax的異步和同步請求的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

先來看以下代碼:

var flag=true;
var index=0;
$.ajax({
  url: "http://www.fzitv.net/",
  success: function(data){
    flag=false;
  }  
});
while(flag){
  index++;
}
alert(index);

請問最后alert的index的結(jié)果是多少?

可能有人會說0唄。實際上卻沒那么簡單。大家可以自己試試看??梢钥吹阶罱K程序進(jìn)入了一個死循環(huán)!怎么會這樣呢!

我們在看一段代碼:

var flag=true;
$.ajax({
  url: "http://www.fzitv.net/",
  success: function(data){
    flag=false;
  }  
});
alert(flag);

大家看最后alert出flag的值是多少呢?沒錯,是true!為什么呢?明明我們在ajax請求成功了將flag設(shè)為false,怎么還是true呢?這實際上是Ajax的異步機(jī)制造成的。

這里解釋一下,同步和異步。js是單線程的,由于執(zhí)行ajax請求會消耗一定的時間,甚至出現(xiàn)了網(wǎng)絡(luò)故障而遲遲得不到返回結(jié)果;這時,如果同步執(zhí)行的話,就必須等到ajax返回結(jié)果以后才能執(zhí)行接下來的代碼,如果ajax請求需要1分鐘,程序就得等1分鐘。如果是異步執(zhí)行的話,就是告訴ajax代碼“老兄,既然你遲遲不返回結(jié)果,我先不等你了,我還有一大堆代碼要執(zhí)行,等你執(zhí)行完了給我說一下”。

Ajax默認(rèn)是異步請求的,所以就出現(xiàn)了上面我們看到的結(jié)果。也就是ajax里面的代碼還沒有執(zhí)行完,先執(zhí)行了下面的代碼。

那么如何使Ajax執(zhí)行同步請求呢?這就需要設(shè)置async。

代碼如下:

var flag=true;
var index=0;
$.ajax({
  url: "http://www.fzitv.net/",
  async:false,
  success: function(data){
    flag=false;
  }  
});
while(flag){
  index++;
}
alert(index);

async默認(rèn)是true,也就是異步,我們設(shè)置為false,即為同步。這時我們再看看結(jié)果吧。

以上就是小編為大家?guī)淼臏\談js的ajax的異步和同步請求的問題全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 詳解javascript表單的Ajax提交插件的使用

    詳解javascript表單的Ajax提交插件的使用

    本文主要介紹了javascript表單的Ajax提交插件的使用,具有一定的參考價值。下面跟著小編一起來看下吧
    2016-12-12
  • javascript模擬枚舉的簡單實例

    javascript模擬枚舉的簡單實例

    本篇文章主要是對javascript模擬枚舉的簡單實例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-03-03
  • 談?wù)凧S中的!!

    談?wù)凧S中的!!

    !!一般用來將后面的表達(dá)式強(qiáng)制轉(zhuǎn)換為布爾類型的數(shù)據(jù)(boolean),也就是只能是true或者false。下面看看通過本文給大家介紹了JS中的!!,需要的朋友參考下吧
    2017-12-12
  • JavaScript動畫原理之如何使用js進(jìn)行動畫效果的實現(xiàn)

    JavaScript動畫原理之如何使用js進(jìn)行動畫效果的實現(xiàn)

    在現(xiàn)在做頁面很多時候都會用上動畫效果,比如下拉菜單,側(cè)邊搜索欄,層的彈出與關(guān)閉等等,下面這篇文章主要給大家介紹了關(guān)于JavaScript動畫原理之如何使用js進(jìn)行動畫效果實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Javascript實現(xiàn)登錄框拖拽效果

    Javascript實現(xiàn)登錄框拖拽效果

    這篇文章主要為大家詳細(xì)介紹了Javascript實現(xiàn)登錄框拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • JavaScript之瀏覽器對象_動力節(jié)點Java學(xué)院整理

    JavaScript之瀏覽器對象_動力節(jié)點Java學(xué)院整理

    JavaScript可以獲取瀏覽器提供的很多對象,并進(jìn)行操作。下面通過本文給大家介紹JavaScript之瀏覽器對象的相關(guān)知識,一起看看吧
    2017-07-07
  • Javascript數(shù)組的?splice?方法詳細(xì)介紹

    Javascript數(shù)組的?splice?方法詳細(xì)介紹

    這篇文章主要介紹了Javascript數(shù)組的splice方法詳細(xì)介紹,splice方法通過刪除或替換現(xiàn)有元素或者原地添加新的元素來修改數(shù)組,并以數(shù)組形式返回被修改的內(nèi)容。此方法會改變原數(shù)組
    2022-09-09
  • js實現(xiàn)表單項的全選、反選及刪除操作示例

    js實現(xiàn)表單項的全選、反選及刪除操作示例

    這篇文章主要介紹了js實現(xiàn)表單項的全選、反選及刪除操作,結(jié)合實例形式分析了基于dedecms后臺使用js實現(xiàn)表單項的全選、反選及刪除相關(guān)操作技巧,需要的朋友可以參考下
    2020-06-06
  • javascript實現(xiàn)發(fā)送短信驗證碼案例

    javascript實現(xiàn)發(fā)送短信驗證碼案例

    這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)發(fā)送短信驗證碼案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • checkbox勾選判斷代碼分析

    checkbox勾選判斷代碼分析

    我們在做項目的時候,特別是注冊用戶的時候,基本上都需要有注冊協(xié)議之類的東西,那么我們?nèi)绾闻袛嘤脩羰欠窆催x了同意了此協(xié)議呢?
    2014-06-06

最新評論

辰溪县| 卢氏县| 湖口县| 寿光市| 华安县| 富平县| 杭锦旗| 旌德县| 平昌县| 特克斯县| 云浮市| 治多县| 内黄县| 黔西县| 徐州市| 湖北省| 岳阳市| 台北县| 平阳县| 夏津县| 龙海市| 梁山县| 东明县| 繁昌县| 扎囊县| 拉孜县| 衡阳市| 金门县| 抚顺县| 安塞县| 吉水县| 乌兰察布市| 鄢陵县| 宣武区| 河南省| 鄂温| 息烽县| 宜阳县| 肃宁县| 江口县| 宝应县|