资讯专栏INFORMATION COLUMN

jQeury中的deferred

Terry_Tai / 352人阅读

摘要:的介绍先看看下面的连接的进一步探究看下面一个小输出,为什么函数实际上是把回调函数加入队列中而触发这些回调函数队列是函数。传入函数的数据会被传入回调函数中。

deferred的介绍

先看看下面的连接:http://www.cnblogs.com/147258...;

deferred的进一步探究

看下面一个小demo:

var d = $.Deferred();
      d.then(function(val){
      console.log(val);
 }).then(function(val){console.log(val)});
d.resolve(22);

输出22 22,为什么?
then 函数实际上是把回调函数加入队列中 而触发这些回调函数队列 是resolve 函数。传入resolve函数的数据会被传入回调函数中。所以这里打印出22 22
如果调换一下执行顺序呢?

var d = $.Deferred();

    d.resolve(22)

d.then(function(val){

  console.log(val);

}).then(function(val){console.log(val)});
//
这里依然打印了22,22.为什么先执行的函数 后加入的队列还是能够执行?
实际上是这样不管是先执行的then 函数后执行的resolve 还是先resolve后执行then
结果都是一样的。
这是因为如果先执行的resolve 后面一旦在队列中加入函数就会立即执行
再看一个案例:

var s = $.Deferred();

s.resolve("rir");
s.then(function(val){setTimeout(function(val){console.log(val+"3")}).then(function(val){console.log(val+"2")});

会先打印出rir2 然后打印出 rir3 即使是加入队列 也改变不了settimeout的异步性质

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84329.html

相关文章

  • 关于 jqeury easyui

    摘要:当一个嵌套在主页面中时,用怎么去取到主页面上的各种控件的值下拉控件取值修改的值下拉控件放值日期控件的取值在主页面取嵌套的子页面的值加前缀在浏览器中请求的数据能正确显示出来,在中打开调试工具会报的错误,数据信息出不来原因是在解析额外参数的时候 当一个iframe嵌套在主页面中时,用jquery怎么去取到主页面上的各种控件的值? $(#id,window.parent.document)....

    mdluo 评论0 收藏0
  • 关于 jqeury easyui

    摘要:当一个嵌套在主页面中时,用怎么去取到主页面上的各种控件的值下拉控件取值修改的值下拉控件放值日期控件的取值在主页面取嵌套的子页面的值加前缀在浏览器中请求的数据能正确显示出来,在中打开调试工具会报的错误,数据信息出不来原因是在解析额外参数的时候 当一个iframe嵌套在主页面中时,用jquery怎么去取到主页面上的各种控件的值? $(#id,window.parent.document)....

    FullStackDeveloper 评论0 收藏0
  • Vuejs 实战观书有感 C1

    摘要:还有一点比较重要的是,如何在快速迭代的软件开发周期内,去解放生产力。于是就会大量涌现很多优秀的开源框架和扩展库,去解决现实生活中的实际问题。而这一切都是在朝着提高开发效率,降低维护成本而前进。结合书中的观点去总结和思考。 关于 Vue.js showImg(https://segmentfault.com/img/bVbk73v?w=252&h=253); 简单小巧的核心(代码压缩后大...

    赵连江 评论0 收藏0
  • Vuejs 实战观书有感 C1

    摘要:还有一点比较重要的是,如何在快速迭代的软件开发周期内,去解放生产力。于是就会大量涌现很多优秀的开源框架和扩展库,去解决现实生活中的实际问题。而这一切都是在朝着提高开发效率,降低维护成本而前进。结合书中的观点去总结和思考。 关于 Vue.js showImg(https://segmentfault.com/img/bVbk73v?w=252&h=253); 简单小巧的核心(代码压缩后大...

    weapon 评论0 收藏0
  • 发现一个jQuery v1.11.1下操作checkbox状态的bug

    摘要:在调试使用操作的选中状态切换的时候,发现了个复选框在被选中再取消选中一次后,无法再次通过重新选中了。如果发现不对,欢迎指正。但是使用直接操作每一个的属性来设置,是可以正常的。 在调试使用jQuery操作checkbox的选中状态切换的时候,发现了个bug:checkbox复选框在被选中再取消选中一次后,无法再次通过jQuery重新选中了。 如果发现不对,欢迎指正。如果知道怎么解决这个问...

    AlphaWatch 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<