美文网首页
jQuery回调方法

jQuery回调方法

作者: Marco_Deng | 来源:发表于2016-10-11 20:29 被阅读25次

是时候用Deferred了
jQuery在1.5版本之后,引入了Deferred对象,提供的很方便的广义异步机制。详情可参看阮一峰老师的这篇文章http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
于是我用Deferred对象改写了代码,如下:

 function getData3() {
 var defer = $.Deferred(); 
 $.ajax({        
  url: "p.php",      
  //async : false,       
  success: function(data)   {  
  defer.resolve(data)        
  }    
  });
  return defer.promise();
 }
 $(".btn3").click(function() {
 $(".loadingicon").show();    
 $.when(getData3()).done(function(data) {$(".loadingicon").hide();    
 alert(data);
 });
 });

可以看到我在ajax请求中去掉了async:false,也就是说,这个请求又是异步的了。另外请注意success函数中的这一 句:defer.resolve(data),Deferred对象的resolve方法可传入一个参数,任意类型。这个参数可以在done方法中拿到, 所以我们异步请求来的数据就可以以这样的方式来返回了。
至此,问题得到了解决。Deferred对象如此强大且方便,我们可以好好利用它。

相关文章

  • jQuery回调方法

    是时候用Deferred了jQuery在1.5版本之后,引入了Deferred对象,提供的很方便的广义异步机制。详...

  • jquery事件绑定

    事件绑定 1. jquery标准的绑定方式 jq对象.事件方法(回调函数); 注:如果调用事件方法,不传递回调函数...

  • 记录14 用键盘控制动画

    使用jQuery $函数来选择HTML中的body元素, 然后,调用keydown 这个回调方法。keydown ...

  • javascript回调函数

    javascript回调函数很玄幻。 jquery 中大量使用了回调函数。直到现在才看懂 普通回调函数 匿名回调函...

  • 『JavaScript专题』之jQuery通用遍历方法each的

    each介绍 jQuery 的 each 方法,作为一个通用遍历方法,可用于遍历对象和数组。 语法为: 回调函数拥...

  • jQuery-核心函数与工具方法

    jQuery核心函数 jQuery(callback)当DOM加载完成后执行传入的回调函数 jQuery([sel...

  • jQuery的ajax方法

    jQuery中的ajax全局配置与全局回调设置 $.ajaxSetup方法可以设置全局配置 全局配置会作为下次aj...

  • JQuery瞬间回想1

    1、jQuery 对象的 $().each() 方法 此方法可用于例遍任何对象。回调函数拥有两个参数:第一个为对象...

  • jQuery 回调函数

    cal.add(callbacks) attr 一般用来设置和操作元素的自定义属性,prop 一般用来操作元素的内...

  • jQuery回调函数

    1.引言 利用回调函数来当参数,会极大的提高程序的灵活性。对回调函数很陌生,研究了一下给的示例程序,感觉对回调函数...

网友评论

      本文标题:jQuery回调方法

      本文链接:https://www.haomeiwen.com/subject/iqvbyttx.html