调用$ .get时,循环无法按预期工作

Ale*_*mbo 0 javascript jquery

我很难理解循环中的$ .get调用.在下面的例子中,我在一个函数内调用$ .get(我在$ .get上读取的文件对于这个问题无关紧要),它似乎在所有第一个循环完成后才被读取.

我希望控制台显示:

---
1
---
2
---
3
---
Run Code Online (Sandbox Code Playgroud)

但正在显示

1
2
3
4
5
6
7
8
9
10
---(11)
Run Code Online (Sandbox Code Playgroud)

你能告诉我为什么吗?

http://jsfiddle.net/qh6zn514/1/

<Button id="clickme">Click me</button>

$("#clickme").click(function() {
   for ($i=0;$i<=10;$i++)
   {
      readNumber();  
      console.log($i);
   }    
})

function readNumber () {   
    $.get ("file", function(txt) {
      console.log ("---");    
    });    
}
Run Code Online (Sandbox Code Playgroud)

And*_*Luo 5

传递给$ .get的函数执行async,这意味着它立即返回而不等待get完成.因此循环快速运行并记录数字.然后每个获取请求完成并记录---