jquery Deferred 快速解决异步回调的问题
程序员文章站
2024-02-15 10:55:28
...
jquery Deferred 快速解决异步回调的问题
function ok(name){
var dfd = new $.Deferred();
callback:func(){
return dfd.resolve( response );
}
return dfd.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 延迟对象如何获取?)
var dfd = new $.Deferred(); return dfd.promise();
返回promise当前状态
deferred.state() pending(尚未完成) resolved rejected
管道
deferred.pipe( [ doneFilter ], [ failFilter ] )
var defer = $.Deferred()
var filtered = defer.pipe( null, function( value ) {
return value * 3;
});
defer.reject( 6 );
filtered.fail(function( value ) {
alert( "Value is ( 3*6 = ) 18: " + value );
});
以上是本文章的全部内容,希望码农们能喜欢。
推荐阅读
-
jquery Deferred 快速解决异步回调的问题
-
解决ajax回调函数返回的字符串乱码问题
-
避免回调地狱的解决方案 async/await:用同步的方式去写异步代码
-
jquery中回调函数的问题,大虾帮忙解决一下~_html/css_WEB-ITnose
-
Jquery Post处理后不进入回调的原因及解决方法教程
-
C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案
-
Activity/Fragment结束时处理异步回调的解决方案
-
Activity/Fragment结束时处理异步回调的解决方案
-
快速解决jquery之get缓存问题的最简单方法介绍
-
使用jQuery快速解决input中placeholder值在ie中无法支持的问题