ajax async:真实的语句执行顺序

Posted

技术标签:

【中文标题】ajax async:真实的语句执行顺序【英文标题】:ajax async: true statement execution order 【发布时间】:2015-08-23 21:17:52 【问题描述】:

我有以下Ajax,我想知道call back method 什么时候asynchronous Ajax call start execution

statement 1;
statement 2;
statement 3;
statement 4;
statement 5;
jQuery.ajax(
    url: "/includes/unit.jsp?" + params,
    cache: false,
    dataType: "html",
    async: true,
    success: function (html) 
        statement 6;
        statement 7;
    
);
statement 8;
statement 9;
statement 10;
statement 11;
    .
    .
    .
statement 10000;  

我知道statement 1 to statement 5 会按顺序执行。至于async: truestatement 8;接下来会执行,我的问题是

statement 6; and statement 7;什么时候执行,它会执行ajax call之后的所有语句直到statement 10000然后执行success method。或者在某些时候它在执行statement 500 时得到了服务器的响应,执行success method 然后开始执行statement 501??

【问题讨论】:

***.com/q/7575589/1592398 【参考方案1】:

首先async: true是默认的,不需要指定。一旦从 ajax 请求返回成功响应,语句 6 就会执行。这取决于许多因素需要多少时间。语句 7 将在语句 6 之后执行。

【讨论】:

所以这部分或我的问题是正确的or at some point it got the response from server while executing statement 500, execute success method then start executing statement 501

以上是关于ajax async:真实的语句执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

多个异步ajax请求指定顺序执行

异常处理关于return语句的执行顺序注意事项

关于async/awaitpromise和setTimeout执行顺序

MySQL基本查询 SELECT的执行顺序(DQL语句)

NodeJS,Async forEachSeries 执行顺序

NodeJS,Async forEachSeries 执行顺序