JQuery 的 deferred 对象及promise 操作

今天看EmberJS文档时,才发现,原来JQuery从1.5之后,提供了一个defered对象,用来简化异步和耗时的操作。

网上有篇文章解释得很清楚:

http://blog.allenm.me/2012/01/jquery_deferred_promise_method/

有了defered ,ajax 操作可以写成:

     $.ajax({url:....})

     .done(function(){....})

     .faile(function(){....});

 

defered 除了在Ajax 中应用外,也可以用在自定义方法中

     function wait5(dtd){

           var taskDone=function(){

                 ......

                dtd.resovle()

           }

           setTimeout(taskDone,5000);

          return dtd.promise()

     }

     $.Dererred(wait5)

      .done(function(){alert('success')})

       .faile(functin(){alert('fail')});

    

你可能感兴趣的:(JQuery 的 deferred 对象及promise 操作)