ajax回撥函式執行順序帶來的同步非同步問題
我們來看這樣一段程式碼:
$(function(){
var a =0;
$.getJSON(
"student_toadd",
{stunum:10},
$.each(status,function(i){
........................
a=10;
.............................
});
)
alert(a);
});
你說說看彈出的a是多少?我說:有可能是10,有可能是0。
為毛?
因為ajax的執行是非同步的,有可能回撥函式還沒有拿到返回值,就彈出a了。
解決辦法
var a = 0;
$.ajax({
type: "get",
dataType: "json",
async: false // 非同步為false
url: "student_toadd",
data:{stunum:10},
success:function(data){ a = 10;}
});
alert(a);
這表示,將$.ajax拿到返回值後,在執行後面的js。
這樣a就是10了。
相關文章
- ajax非同步導致js方法順序執行不了非同步JS
- java回撥函式-非同步回撥-簡明講解Java函式非同步
- GROUPBY 和開窗函式執行順序的問題函式
- 同步任務與非同步任務執行順序非同步
- ajax--實現非同步請求,接受響應及執行回撥非同步
- arcgis api for js回撥函式如何等待同步APIJS函式
- JavaScript 非同步操作裡的巢狀回撥函式JavaScript非同步巢狀函式
- JS 非同步發展流程(回撥函式=>Async/await)JS非同步函式AI
- js解惑-函式執行順序JS函式
- 非同步/回撥非同步
- ajax 下載Excel 新增回撥函式Excel函式
- promise、async、await非同步原理與執行順序PromiseAI非同步
- 什麼是 JavaScript 裡的非同步操作和回撥函式JavaScript非同步函式
- 類script標籤,非同步載入,順序執行非同步
- C++屌屌的觀察者模式-同步回撥和非同步回撥C++模式非同步
- 前端筆記之JavaScript(九)定時器&JSON&同步非同步/回撥函式&函式節流&call/apply前端筆記JavaScript定時器JSON非同步函式APP
- JS 非同步執行順序 -- 從一道面試題說起JS非同步面試題
- jquery ajax 回撥函式的值alert出來[object Object] 解決方法jQuery函式Object
- 用Promise建構函式來解決地獄回撥問題Promise函式
- 支付寶PC端單筆支付同步回撥session失效問題Session
- 執行緒回撥函式形參不能用引用執行緒函式
- SQL語句中的AND和OR執行順序問題SQL
- 回撥函式函式
- JavaScript非同步程式設計史:回撥函式到Promise到Async/AwaitJavaScript非同步程式設計函式PromiseAI
- 建立派生類物件,建構函式的執行順序物件函式
- js函式和變數的執行順序【易錯】JS函式變數
- 【設計模式】非同步阻塞、非同步回撥模式設計模式非同步
- 非同步/同步,阻塞/非阻塞,單執行緒/多執行緒概念梳理非同步執行緒
- 回撥函式的作用函式
- 程式執行緒、同步非同步、阻塞非阻塞、併發並行執行緒非同步並行
- 一個 MySQL sql 語句執行順序帶來的 bugMySql
- SQL中rownum和order by的執行順序的問題SQL
- axios自帶的上傳進度回撥函式iOS函式
- JavaScript 回撥函式JavaScript函式
- JavaScript回撥函式JavaScript函式
- JS—回撥函式JS函式
- 回撥函式(CallBack)函式
- fastapi 關於執行緒池、同步、非同步的問題解答彙總ASTAPI執行緒非同步
- [JS]回撥函式和回撥地獄JS函式