Ajax中的async的取值(非同步和同步)
之前去面試廣州科騰公司時,面試官問了一個問題—ajax的async取值的理解。那時候的我可以說是個死菜鳥(現在可能是個半死不活的菜鳥),只是理解取值的字面意思,最後還要面試官給我解釋。雖然面試肯定是掛了,但是至少面試官教了我點東西,也不虧了對吧。言歸正傳了。
ajax的open方法的第三個引數是async的取值,分別有true和false。true表示是非同步模式,false表示同步模式。
首先要明確一點,ajax在全域性環境中是非同步模式的 ,async講的是ajax請求內部的同異步。
對於同步模式,如果ajax發出請求(send方法呼叫後),後續還有程式碼執行,此時如果伺服器響應不及時(也就是此時ajax的請求程式碼還沒有全部執行完成),後續的程式碼不會執行(此時頁面出現假死狀態,此時也不用考慮程式碼的執行順序)。此時就會出現阻塞狀態。
對於非同步模式,一般多用非同步模式。如果ajax執行完send後,後續還有程式碼需要執行,此時伺服器響應不夠及時,後續的程式碼還是會繼續執行。不會出現阻塞現象
既然非同步比較好,那為什麼會有同步這個選項呢。這也是那個面試官問我的問題之一。答案是,因為如果ajax執行完send後,後續的程式碼是有關於響應結果的處理,那如果是非同步請求,則如果此時伺服器的響應結果還沒回來,那麼後續有關於響應結果的處理就會出現錯誤(return null)。此時是一定要用同步的。
—–有不同意見歡迎留言改正000000
相關推薦
Ajax中的async的取值(非同步和同步)
之前去面試廣州科騰公司時,面試官問了一個問題—ajax的async取值的理解。那時候的我可以說是個死菜鳥(現在可能是個半死不活的菜鳥),只是理解取值的字面意思,最後還要面試官給我解釋。雖然面試肯定是掛了,但是至少面試官教了我點東西,也不虧了對吧。言歸正傳了。
jq獲取tr中td的值(forEach遍歷)
<table border="1"> <tr> <td>編號</td>
介紹vue專案中的axios請求(get和post)
一、先安裝axios依賴,還有qs依賴 npm install axios --save npm install qs --save qs依賴包用post請求需要用到的 插入一個知識點: npm install X --save 會把依賴包安裝在生產環境中,並且把依賴包名稱新增到 package
Linux中檢視系統版本(核心和發行)、CPU資訊以及修改主機名
檢視cpu資訊 cat /proc/cpuinfo 檢視系統與核心相關資訊 Uname [選項] &nbs
iOS開發中的記憶體分配(堆和棧)
程序的記憶體分割槽 所有程序(執行的程式)都必須佔用一定數量的記憶體,它或是用來存放從磁碟載入的程式程式碼,或是存放取自使用者輸入的資料等等。不過程序對這些記憶體的管理方式因記憶體用途不一而不盡相同,有些記憶體是事先靜態分配和統一回收的,而有些卻是按需要動態分配和回收的
JAVA中陣列的記憶體(棧和堆)
JAVA對記憶體空間的劃分 五部分:棧 堆 方法區 本地方法區 暫存器 今天主要談棧和堆 棧記憶體:儲存的都是區域性變數。 只要是在方法中定義的變數都是區域性變數,一旦變數的生命週期結束,該變數就被釋放。 (壓棧彈棧 balabalabala) 堆記
Android中的人臉檢測(靜態和動態)
(1)背景。 Google 於2006年8月收購Neven Vision 公司 (該公司擁有10多項應用於移動裝置領域的影象識別的專利),以此獲得了影象識別的技術,並加入到android中。Android 中的人臉識別技術,用到的底層庫:android/ex
在matlab中如何將圖片(png和jpg)轉成mat格式
在這裡就要介紹兩個函數了,具體的可以在matlab裡面的參考,一個是imread、imwrite和imshow函式,這幾個函式看了以後基本就可以明白了,具體的也很簡單。比如 I = imread('C:\Users\Administrator\Desktop\patches11.jpg');
Qt:計算CRC校驗值(CRC16和CRC32)
CRC有非常多的模式,我沒有全部都做,目前支援 CRC16-Modbus CRC16-X25 CRC32 使用方法 auto data = QByteArray::fromHex( "01
Mybatis自動生成key值(selectKey和useGeneratedKeys)
insert和update操作中會常常用到自動生成主鍵的問題。 selectKey和useGeneratedKeys屬性 useGeneratedKeys (insert and update only) This tells
jenkins pipeline中拉取程式碼(svn或git)
pipeline是jenkins2.0的核心特性,作為一個運維小白,最近在學習jenkins,做一些小的demo。 關於從svn或者git中拉取程式碼,我們可以通過Pipeline Syntax來生成。Pipeline Syntax算是一個很全的文件,閒著沒事可以把裡面的每
有無C標籤在JSP頁面的取值(兩種方式)
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*" %> &
神經網路中的BP演算法(原理和推導)
BP演算法介紹 BP演算法(Background Propagation Alogorithm), 即誤差逆傳播演算法,是訓練多層前饋神經網路的一種最經典的演算法,通過BP演算法可以學得網路的權重和閾值,且具有可靠的收斂性。 網路結構 首先對所用的符號和變
easyui.utils.js 自己封裝的 使用easyui過程中方便操作和取值(一)
注意:該easyui.utils.js 會在我自己使用過程中不斷完善,大家一起進步。 在js上新增 以下 (function($){ function 其他方法。 })(jQuery); 的目的是為了防止該js檔案中的function與瀏覽器本身的一些functi
ajax中async同步和非同步的區別和使用技巧
在網上看了很多關於ajax中同步和非同步的區別,這個同步的意思是當JS程式碼載入到當前AJAX的時候會把頁面裡所有的程式碼停止載入,頁面出去假死狀態,當這個AJAX執 行完畢後才會繼續執行其他程式碼頁
ajax中async的true和false
先彈出success,再彈出after click 先彈出after click,再彈出success 屬性async用於控制同步和非同步,預設是true,即ajax請求預設是非同步請求,有時專案中會用到AJAX同步。這個同步的意思是當JS程式碼載入
卷積運算中的兩種padding的取值,VALID和SAME
模板來源於(https://blog.csdn.net/wuzqchom/article/details/74785643) 加入了一些自己的理解 在用tensorflow寫CNN的時候,呼叫卷積核api的時候,會有填padding方式的引數,找到原始碼中的函式定義如下(max pooling也
Ajax應用serialize()提交Form表單及後端取值(Java)
<script type="text/javascript"> $(document).ready(function(){ $("#modifyForm").submit(function(e){ $("#submitButton").attr('disabled',"
java中的取整(/)和求餘( )
1.取整運算子 取整從字面意思理解就是被除數到底包含幾個除數,也就是能被整
爬蟲學習之18:使用selenium和chrome-headerless爬取淘寶網商品資訊(非同步載入網頁)
登入淘寶網,使用F12鍵觀察網頁結構,會發現淘寶網也是非同步載入網站。有時候通過逆向工程區爬取這類網站也不容易。這裡使用selenium和chrome-headerless來爬取。網上有結合selenium和PlantomJS來爬取的,但是最新版的Seleniu