YUI杂记

Y.Lang.isObject()
Y.Lang.isArray()
Y.Lang.isFunction()
Y.Lang.type()



Y.later的作用和settimeout类似,都是延迟执行方法

参数:( when  o  fn  data  periodic )

/**
 * when:表示延迟的时间
 * o:执行的上下文
 * fn:要执行的方法,是在o这个对象里的方法
 * data:传给fn的参数,可以是单个项,也可以是一个array
 * periodic:如果设置为true,那个该方法的执行如同setInterval,在一个间隔后连续执行
 */

使用Y.parallel来批量处理异步的方法调用

<!DOCTYPE html>
<html>
	<head>
		<title>Time</title>
	</head>
	<style type="text/css">
		* {
			font-family: Inconsolata, "Bitstream Vera Sans Mono", "Droid Sans Mono", "Courier New", monospace;
			margin: 0;
			padding: 0;
		}
		#main {
			margin: 100px;
		}
	</style>
	<body>
		<div id="main">
			<button>OK</button>
			<p></p>
		</div>
	</body>
	<script type="text/javascript" src="../../yui-min.js"></script>
	<script type="text/javascript">
		YUI().use('parallel', 'node', function(Y) {
			var stack = new Y.Parallel();
			var res = Y.one("#main p");

			Y.one('#main button').on('click', function(e) {
				e.preventDefault();

				res.append('<strong>Running begin:</strong><br></br>');

				//Y.later的用法示例

				// Y.later(1000, null, function(i){
				//  	res.append("<br>" +i);
				//  }, 100, true);

				// Y.later(1000, null, function(){
				// 	res.append("<br>" +100);
				// });
				// Y.later(1000, null, function(){
				// 	res.append("<br>" +100);
				// });
				// Y.later(2000, null, function(){
				// 	res.append("<br>" +100);
				// });
				// Y.later(3000, null, function(){
				// 	res.append("<br>" +100);
				// });

				//stack.add()的方法只是将add中的方法注册到stack中,要将其执行
				//然后才能调用stack.done,故而使用了立即执行()

				// for(var i = 1000; i <=5000; i=i+1000) {
				// 		stack.add(function() {
				// 			res.append(i + ' Callback fired<br>');
				// 		})();
				// }

				// stack.done(function() {
				// 	res.append('<br><strong>All Completed!</strong>');
				// });


				//在for循环中先将方法注册到stack中,然后Y.later每隔1秒调用一次注册的方法,
				//全部执行完之后,stack.done自动执行
				for(var i = 1000; i <=5000; i=i+1000) {
					Y.later(i, null, stack.add(function() {
						res.append(i + ' Callback fired<br>');
					}));
				}

				stack.done(function() {
					res.append('<br><strong>All Completed!</strong>');
				});
			});
		});
	</script>
</html>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值