deferred.js

来自「这是一个ajax的例子大家好好的看看就是一个鱼眼的效果」· JavaScript 代码 · 共 77 行

JS
77
字号
if(!dojo._hasResource["tests._base.Deferred"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["tests._base.Deferred"] = true;dojo.provide("tests._base.Deferred");doh.register("tests._base.Deferred", 	[		function callback(t){			var nd = new dojo.Deferred();			var cnt = 0;			nd.addCallback(function(res){				doh.debug("debug from dojo.Deferred callback");				return res;			});			nd.addCallback(function(res){				// t.debug("val:", res);				cnt+=res;				return cnt;			});			nd.callback(5);			// t.debug("cnt:", cnt);			t.assertEqual(cnt, 5);		},		function callback_extra_args(t){			var nd = new dojo.Deferred();			var cnt = 0;			nd.addCallback(dojo.global, function(base, res){ cnt+=base; cnt+=res; return cnt; }, 30);			nd.callback(5);			t.assertEqual(cnt, 35);		},		function errback(t){			var nd = new dojo.Deferred();			var cnt = 0;			nd.addErrback(function(val){				return ++cnt;			});			nd.errback();			t.assertEqual(cnt, 1);		},		function callbackTwice(t){			var nd = new dojo.Deferred();			var cnt = 0;			nd.addCallback(function(res){				return ++cnt;			});			nd.callback();			t.assertEqual(cnt, 1);			var thrown = false;			try{				nd.callback();			}catch(e){				thrown = true;			}			t.assertTrue(thrown);		},		function addBoth(t){			var nd = new dojo.Deferred();			var cnt = 0;			nd.addBoth(function(res){				return ++cnt;			});			nd.callback();			t.assertEqual(cnt, 1);			// nd.callback();			// t.debug(cnt);			// t.assertEqual(cnt, 1);		}	]);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?