jquery中done和then有什么不同(done,jquery,then,web开发)

时间:2024-05-06 09:43:21 作者 : 石家庄SEO 分类 : web开发
  • TAG :
vardefer=jQuery.Deferred();defer.done(function(a,b){console.log("a="+a+"b="+b);returna*b;}).done(function(result){console.log("result="+result);}).then(function(a,b){console.log("a="+a+"b="+b);returna*b;}).done(function(result){console.log("result="+result);}).then(function(a,b){console.log("a="+a+"b="+b);returna*b;}).done(function(result){console.log("result="+result);});defer.resolve(2,3);

输出结果如下:

jquery中done和then有什么不同

结果分析:

1、第一个done和第二个done都返回了defer.resolve( 2, 3 )

2、done中callback的返回值不会被传递

3、第二个done只有一个参数,接收了defer.resolve( 2, 3 )的第一个参数2,所以result是2

4、第一个then接收defer.resolve( 2, 3 ),接收两个参数,result是6,同时新建一个deferred object,传递result给deferred object

5、第三个done接收到了这个新的deferred object和传递的result,打印结果是6,并把这个新的deferred object传递给第二个then

6、第二个then现在接收新的deferred object,它只有一个参数,是result,所以参数b没有定义,返回的结果是NaN,同时又新建一个deferred object

7、第四个done接收一个新建的deferred object,传递的参数是NaN,打印的结果自然就是NaN

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:jquery中done和then有什么不同的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:基于node.js实现微信支付退款功能下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18