先看下同步的請求
后臺收到的是0~10
ajax的回調輸出的也是0~10
for (var index = 0; index <= 10; index++) { $.ajax({ async: false,//同步 url: '/HelloWorld', type: 'POST', dataType: 'html', data: {index: index} }).done(function () { console.log(index); }) }
換成異步之后
后臺收到的數據發生了變化 不是預期的0~10
ajax的回調輸出的同樣如此 變成了11個11
ajax執行的循序排在了for循環執行之后 i變成了11
需要在ajax執行時保持對i的引用才能達到預期的效果
for (var index = 0; index <= 10; index++) { (function (num) {//形參 $.ajax({ async: true,//異步 url: '/HelloWorld', type: 'POST', dataType: 'html' }) .done(function () { console.log(num); }) })(index)//實參}
這樣后臺接收到的值 就可以和前臺輸出的值一致
先看下同步的請求
后臺收到的是0~10
ajax的回調輸出的也是0~10
for (var index = 0; index <= 10; index++) { $.ajax({ async: false,//同步 url: '/HelloWorld', type: 'POST', dataType: 'html', data: {index: index} }).done(function () { console.log(index); }) }
換成異步之后
后臺收到的數據發生了變化 不是預期的0~10
ajax的回調輸出的同樣如此 變成了11個11
ajax執行的循序排在了for循環執行之后 i變成了11
需要在ajax執行時保持對i的引用才能達到預期的效果
for (var index = 0; index <= 10; index++) { (function (num) {//形參 $.ajax({ async: true,//異步 url: '/HelloWorld', type: 'POST', dataType: 'html' }) .done(function () { console.log(num); }) })(index)//實參}
這樣后臺接收到的值 就可以和前臺輸出的值一致
相關文章:
js中同步與異步處理的方法和區別總結_javascript技巧
ajax 同步請求和異步請求的差異分析
相關視頻:
千鋒教育PHP異步通信框架Swoole解讀視頻教程
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com