關於ajax同步異步處理循環遍歷及push時發生的疑問
今天寫了一個簡單的ajax請求,其中因為一些需求 渲染過程沒有寫在回調函數內,要在外部訪問遍歷後的數組進行渲染,第一次寫時圖片如下圖
此時console.log(arr)打印出來的內容是一個長度為0,包含十條完整數據的數組,如下圖
此時,當我訪問arr[0]或者arr[1]時,均會出現undefined提示,
開始的時候我一直認為是數組操作的問題,在這個方向上努力了半天,發現方向可能是錯的,最後覺得可能是因為ajax默認的異步請求,所以將請求改成了同步,如下圖
此時打印的內容變成了想要的需求,如下圖
這樣的話,我實際上的需求已經達成了,等我活忙完了回過頭來反思,發現不能理解其中到底發生了什麽,如果是因為異步請求,導致循環和push沒完成就打印了arr,那麽arr內應該是一個擁有不完整數據的數組,但打印出來的內容卻是一個擁有完整的10條數據且長度為0的數組,也就是說,異步請求時循環遍歷以及push的過程已經結束了,不然不可能有完整的10條數據,但為什麽打印出來的arr卻是一個沒有長度數據完整的數組呢?
希望路過的大神能給解答一下,感激不盡
關於ajax同步異步處理循環遍歷及push時發生的疑問
相關推薦
關於ajax同步異步處理循環遍歷及push時發生的疑問
包含 發生 圖片 不可 開始 感激 log 向上 希望 今天寫了一個簡單的ajax請求,其中因為一些需求 渲染過程沒有寫在回調函數內,要在外部訪問遍歷後的數組進行渲染,第一次寫時圖片如下圖 此時console.log(arr)打印出來的內容是一個長度為0,包含十條完整數據
ajax同步異步設置導致的問題及return返回值(返回ajax請求的數據)
() log inf 應該 頁面數據 spa mha soft add 一、ajax同步異步設置導致父子頁面數據更新不一致問題。 1、在修復入宿退宿功能時,發現點擊退宿、入宿按鈕時。父頁面數據更新了但是子頁面數據要重新打開才能更新。如下圖: 因為
ssm+ajax異步請求返回list遍歷
object charset HA function div HR class ati debug jsp頁面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodin
福運來源碼搭建與ajax同步異步
等待 所有 同步異步 cti 執行 () 數據 ces pos Ajax的請求方式根據異步參數的不同,可分為同步異步,默認為異步請求真 async:true //異步 async:fasle //同步 同步請求即當Ajax發出請求後,會把頁面的所有代碼停止加載,即頁面進入假
ng-repeat循環遍歷的用法
-i -a 打印 用法 ini in use bin 循環 bsp ng-repeat循環遍歷的用法 <script src="../angular-1.5.5/angular.min.js"></script></head>&l
JS 循環遍歷JSON數據 分類: JS技術 JS JQuery 2010-12-01 13:56 43646人閱讀 評論(5) 收藏 舉報 jsonc JSON數據如:{"options":"[{
ros json 12px details style position none -i ide JS 循環遍歷JSON數據 分類: JS技術 JS JQuery2010-12-01 13:56 43646人閱讀 評論(5) 收藏 舉報 jsonc
C++11中對容器的各種循環遍歷的效率比較
ets normal pre unsigned int qdebug tex contain string 1 #include "CycleTimeTst.h" 2 #include <string> 3 #include <vector&
table中列的循環遍歷
var b- apple body table -o close 這就是 -type var index=$(this).index(); var tr=$(this).closest(‘tbody‘).children(‘tr‘); var trList=tr.chi
Android中List循環遍歷性能對照
最快 next() num trac () ren length iter pan 在android開發中僅僅要是列表式風格界面我們差點兒都須要用到List來存放數據,在數量非常少的List的話差點兒不論什麽一種循環遍歷方式總體性能都無區別。可是當我們遇
JavaScript-//FOR/IN循環。當使用for/in循環遍歷關聯數組時,就可以清晰地體會到for/in的強大之處。
get console turn 股票 toc asc ava cti val <script> //FOR/IN循環。當使用for/in循環遍歷關聯數組時,就可以清晰地體會到for/in的強大之處。 function getvalue(portfol
ecshop模版循環遍歷中自動調用函數
href 直接 php代碼 賦值 link targe src 獲取 pre 以下代碼: <!--{foreach from=get_categories_tree(0) item=cat name=cat0}--> &l
JS&Jquery中的循環/遍歷
右下角 jquery asc ava str 更多 obj 博客 知識 閱讀目錄 JavaScript中的遍歷 for 遍歷 for(var p in anObject)遍歷 Jquery遍歷 $.each遍歷 回到頂部 JavaScript
SQL SERVER循環遍歷(普通循環和遊標循環)
into 變量 alloc lar -1 記錄 gin pda 普通 1、首先需要一個測試表數據Student 2、普通循環 1)循環5次來修改學生表信息 --循環遍歷修改記錄--declare @i int set @i=0while @i<5b
for循環遍歷二維數組、嵌套元素
image 變量 i++ 多層嵌套 想要 比較 list log 它的 關於for循環這是js中的重點,特別是項目中會經常用到,並且它的運用範圍還極其的廣泛,極其的復雜,今天就來遍歷一個多層嵌套的元素,先來看看簡單的布局: 1 <ul id="list">
JS簡單循環遍歷json數組的方法
否則 alert 情況 number -i uncaught for class syntax 例如數據庫裏面的json字符串是這樣的 1 2 3 4 5 var str = ‘[{"name":"宗2瓜","num":"1","price":"122"
【轉】編寫高質量代碼改善C#程序的157個建議——建議17:多數情況下使用foreach進行循環遍歷
else enume spa 開閉 next str items tro var 建議17:多數情況下使用foreach進行循環遍歷 由於本建議涉及集合的遍歷,所以在開始講解本建議之前,我們不妨來設想一下如何對結合進行遍歷。假設存在一個數組,其遍歷模式可以采用依據索引來
復習 使用for、while循環遍歷文件,數據類型轉換
數據類型 for while 1. python訪問文件通過內置函數open打開文件,看一下open函數解釋:打開文件返回的是一個文件對象fd = open('/tmp/tmp.txt')查看他的方法:關閉文件:fd.close()向文件內寫入:fd = open('/tm
Python中的用for,while循環遍歷文件實例
python中的用forwhile循環使用for循環遍歷文件打開文件open r:以讀模式打開 w:以寫模式打開 a:以追加模式打開 r+:以讀寫模式打開 w+:以讀寫模式打開(參見w) a+:以讀寫模式打開(參見a) rb:以二進制讀模式打開 wb:以二進制
foreach循環遍歷 行合並
jquer ddc his sta add src foreach app stat <%@ page contentType="text/html;charset=UTF-8" %> <%@ include file="/WEB-INF/views/i
Map集合遍歷的四種方式理解和簡單使用-----不能for循環遍歷
src 理解 version class post oid 循環 2017年 col ~Map集合是鍵值對形式存儲值的,所以遍歷Map集合無非就是獲取鍵和值,根據實際需求,進行獲取鍵和值 1:無非就是通過map.keySet()獲取到值,然後根據鍵獲取到值 f