文章詳情頁
javascript - 關于ajax異步加載請問數據延遲問題
瀏覽:116日期:2023-04-26 08:33:14
問題描述
在外面定義一個空數組,然后做一個ajax請求,請求內再嵌套一個請求,最終拼接成一個三個對象插入空數組。然后我在最外面打印數組長度,打印出來的長度是0,這個問題會影響賦值。請問怎么解決。
問題解答
回答1:ajax異步會造成這樣的問題。解決方案1.Promise 2.在ajax回調中進行賦值
回答2:ajax 是異步的,當執行到你的 log 代碼時,ajax 還沒有返回呢。
回答3:請查閱事件循環的問題
我們知道ajax是異步操作,
你console.log 的位置 此時arr.length 其實就是[].length
當你當前的js執行完后,ajax的success回調才會執行,只有success回調成功后此時你的arr數組被push進值
所以你可能要把console.log放入第二個ajax的success回調里至于promise會很好的優化這種嵌套的回調,但是你要封裝你的ajax
建議把你所有的ajax 包裝成promise
回答4:ajax是數據獲取方式是異步的,所以異步獲取的數據并不能按照平時理解的同步方式去處理,應該把你的console.log 寫在 success 的 回調函數里。
回答5:將你的async:false,這樣你就可以在外面獲取到里面的值了。
回答6:這樣的話,你得改成ajax同步。異步的話,ajax和它后面的代碼同時執行
標簽:
JavaScript
上一條:javascript - js的toString方法和toLocaleString()有什么區別下一條:javascript - 為什么下面這段js代碼會報, function not found的錯誤呢?
相關文章:
1. javascript - 編程,算法的問題2. javascript - jQuery each 方法第三個參數args 如何解釋?3. ubuntu apt-get install update 無法更新4. webgl - android上類似汽車之家的3d全景照片怎么實現5. java - 阿里的開發手冊中為什么禁用map來作為查詢的接受類?6. javascript - 為什么嵌套的Promise不能按預期捕獲Exception?7. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決8. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?9. java - 關于i++的一個題目10. node.js - win7下,npm 無法下載依賴包,淘寶鏡像也裝不上,求幫忙???
排行榜
