jquery Deferred 快速解决异步回调的问题
jqueryDeferred快速解决异步回调的问题
functionok(name){ vardfd=new$.Deferred(); callback:func(){ returndfd.resolve(response); } returndfd.promise(); } $.when(ok(1),ok(2)).then(function(resp1,resp2){})
//相关API分成3类
1类:$.when(pro1,pro1)将多个promise对象以and的关系合并为1个
2类:promise激发为解决deferred.resolve([args])deferred.resolveWith(context,[args])
和拒绝.reject .rejectWith
context上下文替换this和通知.notify .notifyWith
3类:对激发的响应 解决时deferred.done(args)拒绝时deferred.fail()通知时deferred.progress()
不管解决或拒绝deferred.always()
deferred.then(doneCallbacks,failCallbacks[,progressCallbacks])
promise(或者叫deferred延迟对象如何获取?)
vardfd=new$.Deferred();returndfd.promise();
返回promise当前状态
deferred.state() pending(尚未完成)resolvedrejected
管道
deferred.pipe([doneFilter],[failFilter]) vardefer=$.Deferred() varfiltered=defer.pipe(null,function(value){ returnvalue*3; }); defer.reject(6); filtered.fail(function(value){ alert("Valueis(3*6=)18:"+value); });
以上这篇jqueryDeferred快速解决异步回调的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。