91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ajax同步異步指的是什么

發布時間:2022-07-05 09:17:47 來源:億速云 閱讀:193 作者:iii 欄目:web開發

本篇內容主要講解“ajax同步異步指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ajax同步異步指的是什么”吧!

ajax同步的意思是當JavaScript代碼加載到當前ajax的時候會把頁面里所有的代碼加載停止,頁面處于假死狀態,當這個ajax執行完之后,頁面才會接觸假死狀態,代碼繼續運行;ajax異步的意思則是當前ajax代碼運行的時候其他代碼一樣也可以運行。

本文操作環境:windows10系統、javascript1.8.5&&html5版、Dell G3電腦。

什么是ajax同步異步

(1)同步的意思是當JS代碼加載到當前AJAX的時候會把頁面里所有的代碼停止加載,頁面處于假死狀態,當這個AJAX執行完后才會解除頁面假死狀態,代碼繼續運行。

(2)而異步則是當前AJAX代碼運行中的時候其他代碼一樣可以運行。

jquery的async:false,這個屬性

默認是true:異步,false:同步。

示例如下:

$.ajax({
           url: prefix + "/exportById",
           data: {ids:ids},
           type: 'POST',
           traditional: true,
           cache:false, 
           async:false, 
           success: function (result) {
            if (result.code == web_status.SUCCESS) {
                  window.location.href = ctx + "common/download?fileName=" + result.msg + "&delete=" + true;
                } else {
                             alert("導出失敗");
                    }
                }
        });

擴展知識

AJAX怎么實現同步請求?

ajax請求我們分為同步請求和異步請求,但是默認的都是異步請求,那么,當我們想用ajax同步請求時,我們該如何去實現這個同步請求呢?接下來的這篇文章就來給大家介紹一下關于ajax同步請求的實現方式,有需要的朋友可以參考一下,希望會對你有所幫助。

首先我們應該知道同步是單一的線程,代碼是按照順序執行的,當執行到js代碼加載到當前的同步ajax請求的時候,頁面的所有其他代碼停止加載,頁面處于假死狀態,直到該請求執行完畢,才會執行繼續執行其他請求。

其次我們應該知道ajax中根據async的值不同分為同步和異步兩種請求方式,當async的值為true時是異步請求方式,相反的,當async的值為false時是同步請求方式,所以對于實現ajax同步請求只需要將async的值設為false就可以了。

$.ajax(
  
      type:“POST”/“GET”
  
      url:"",
  
      data:{},
  
      dataType:"json",
  
      async:false,  //同步
  
     success:function(response){
  
           }     
  
   );

Ajax同步和異步請求有什么區別以及使用場景有哪些?

理解1:

AJAX中根據async的值不同分為同步(async = false)和異步(async = true)兩種執行方式;在W3C的教程中推薦使用異步執行;

下面來區別一下同步和異步有什么不同:

異步:在異步模式下,當我們使用AJAX發送完請求后,可能還有代碼需要執行。這個時候可能由于種種原因導致服務器還沒有響應我們的請求,但是因為我們采用了異步執行方式,所有包含AJAX請求代碼的函數中的剩余代碼將繼續執行。如果我們是將請求結果交由另外一個JS函數去處理的,那么,這個時候就好比兩條線程同時執行一樣。

同步:在同步模式下,當我們使用AJAX發送完請求后,后續還有代碼需要執行,我們同樣將服務器響應交由另一個JS函數去處理,但是這時的代碼執行情況是:在服務器沒有響應或者處理響應結果的JS函數還沒有處理完成return時,包含請求代碼的函數的剩余代碼是不能夠執行的。就好比單線程一樣,請求發出后就進入阻塞狀態,知道接觸阻塞余下的代碼才會繼續執行。

如何選同步還是異步模式?要回答這一問題,我們可以通過下面可能出現的問題來回答:

我們在發送AJAX請求后,還需要繼續處理服務器的響應結果,如果這時我們使用異步請求模式同時未將結果的處理交由另一個JS函數進行處理。這時就有可能發生這種情況:異步請求的響應還沒有到達,函數已經執行完了return語句了,這時將導致return的結果為空字符串。

理解2:

同步: 發送一個請求,等待返回,然后再發送下一個請求

異步: 發送一個請求,不等待返回,隨時可以再發送下一個請求

同步可以避免出現死鎖,讀臟數據的發生,一般共享某一資源的時候用,如果每個人都有修改權限,同時修改一個文件,有可能使一個人讀取另一個人已經刪除的內容,就會出錯,同步就會按順序來修改。

異步則是可以提高效率了,現在cpu都是雙核,四核,異步處理的話可以同時做多項工作,當然必須保證是可以并發處理的。

同步和異步最大的區別就在于。一個需要等待,一個不需要等待。

比如發短信,就是一個異步例子。發起者不關心接收者的狀態。不需要等待接收者的返回信息,則可以進行下一次發送。

電話,就是一個同步例子。發起者需要等待接收者,接通電話后,通信才開始。需要等待接收者的返回信息

而我們平時經常討論的同步問題多發生在多線程環境中的數據共享問題。即當多個線程需要訪問同一個資源時,它們需要以某種順序來確保該資源在某一特定時刻只能被一個線程所訪問,如果使用異步,程序的運行結果將不可預料。因此,在這種情況下,就必須對數據進行同步,即限制只能有一個進程訪問資源,其他線程必須等待。

實現同步的機制主要有臨界區、互斥、信號量和事件

臨界區:通過對多線程的串行化來訪問公共資源或一段代碼,速度快,適合控制數據訪問。在任意時刻只允許一個線程對共享資源進行訪問,如果有多個線程試圖訪問公共資 源,那么在有一個線程進入后,其他試圖訪問公共資源的線程將被掛起,并一直等到進入臨界區的線程離開,臨界區在被釋放后,其他線程才可以搶占。

互斥量:采用互斥對象機制。 只有擁有互斥對象的線程才有訪問公共資源的權限,因為互斥對象只有一個,所以能保證公共資源不會同時被多個線程訪問。互斥不僅能實現同一應用程序的公共資源安全共享,還能實現不同應用程序的公共資源安全共享 .互斥量比臨界區復雜。因為使用互斥不僅僅能夠在同一應用程序不同線程中實現資源的安全共享,而且可以在不同應用程序的線程之間實現對資源的安全共享。

信號量:它允許多個線程在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大線程數目 。信號量對象對線程的同步方式與前面幾種方法不同,信號允許多個線程同時使用共享資源,這與操作系統中的PV操作相同。它指出了同時訪問共享資源的線程最大數目。它允許多個線程在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大線程數目。

事件:通過通知操作的方式來保持線程的同步,還可以方便實現對多個線程的優先級比較的操作 。

到此,相信大家對“ajax同步異步指的是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

余庆县| 云林县| 宁武县| 肃北| 榆林市| 苏尼特右旗| 陵川县| 皮山县| 定西市| 凌云县| 万年县| 彭阳县| 苏尼特右旗| 达拉特旗| 桑日县| 张家界市| 伽师县| 丽水市| 钟山县| 二连浩特市| 桦川县| 沙坪坝区| 抚顺县| 开远市| 揭阳市| 马尔康县| 清新县| 肥东县| 浮梁县| 余江县| 漠河县| 固镇县| 顺平县| 卢龙县| 彭州市| 株洲市| 耿马| 河南省| 绥芬河市| 崇信县| 桦甸市|