jQuery.when().done()
2017-01-18 17:00
197 查看
在使用jQuery.when()调用外部声明方法时,如果方法不为Deferred(延时)对象,则done会立即执行,所有需要在调用的方法声明一个var deferred = $.Deferred();以达到执行完调用的方法后再执行done。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jQuery when done</title> <script src="../jquery/jquery.min.js"></script> </head> <body> <script> $(function () { var ajaxGetData = function(){ //声明延时对象 var deferred = $.Deferred(); $.ajax({ url: '', type: 'get', dataType: 'json', data:{}, success:function(data){ alert("执行when成功,下一步才执行done"); //成功获取返回值后,调用resolve表示操作成功,才会执行done方法 deferred.resolve(); }, error:function(){ alert("操作异常"); } }); return deferred; } $.when( ajaxGetData() ).done( function() { alert("执行done成功"); } ); }) </script> </body> </html>
相关文章推荐
- Jquery $when done then的用法详解
- Jquery~$when_done_then的用法
- jquery when then(done) 用法举例
- Jquery~$when_done_then的用法
- jquery 中的deffered和promise对象方法及$when done then的使用
- jQuery的 $when()
- 在jQuery中定义了一个done的内部函数
- iOS: NSData的方法initWithBytesNoCopy:length:freeWhenDone:
- jquery 精巧的$.when 小记
- jQuery中$.when的用法
- jquery 中的.done()和.always()
- Performing a Completion Block When a Task Is Done (!!!)
- jQuery.when( deferreds )
- 使用jQuery UI Widgets的grid报错,Uncaught Error: jqxGrid: The data is still loading. When the data binding
- jquery中的done和always解决ajax问题
- jquery中的工具方法--Deferred和when
- jquery deferred对象 then(),when()方法 ,解决回调函数嵌套
- js-jQuery中的Callbacks、Deferred和When对象详解(2)
- jQuery回调、递延对象总结(下篇) —— 解密jQuery.when方法
- jquery中done的用法