$.then 链式回调操作在不同版本的jquery下的结果不一样

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3     <head>
 4     <meta charset="utf-8">
 5     <title></title>
 6     <script src="jquery-1.7.2.min.js"></script>
 7     <!--<script src="http://code.jquery.com/jquery-latest.js">--></script>
 8     <script type="text/javascript">
 9     function A(){
10         var dtd =$.Deferred();
11         setTimeout(function(){
12             console.log("A");
13             $("ul").append("<li>A</li>");
14             dtd.resolve();
15         },5000);
16         return dtd;
17     }
18     function B(){
19         var dtd =$.Deferred();
20         setTimeout(function(){
21             console.log("B");
22             $("ul").append("<li>B</li>");
23             dtd.resolve();
24         },4000);
25         return dtd;
26     }
27     function C(){
28         var dtd =$.Deferred();
29         setTimeout(function(){
30             console.log("C");
31             $("ul").append("<li>C</li>");
32             dtd.resolve();
33         },3000);
34         return dtd;
35     }
36     function D(){ 
37         var dtd =$.Deferred();
38         setTimeout(function(){
39             console.log("D");
40             $("ul").append("<li>D</li>");
41             dtd.resolve();
42         },200);
43         return dtd;
44     }
45     A().then(function(){return B();}).then(function(){return C();}).then(function(){return D();})
46     
47     </script>
48     </head>
49     <body>
50    <ul></ul>
51      
52 </body>
53 </html>

当使用jquery1.7 时输出结果为ADCB

而使用最新jquery时输出为ABCD;

posted @ 2016-04-20 20:26  holy_night  阅读(210)  评论(0编辑  收藏  举报