JavaScript猥琐队列机制

JavaScript里面没有一种控制事情,或者函数调用的队列机制。

存在这样一种可能,后面的逻辑需要前面生成的对象,或者加载完成一个iframe页面才能执行后面的东西。但是队往往前提条件还没执行,后面的就已经执行了。由于网速或者其它一些不确定的原因混和在一起,加载或者执行顺序不确定。这种Bug就间歇性的出现,非常猥琐,非常难查。

image

方法一:

(function(){

	if(...){

	} else {
		setTimeout(arguments.callee, 350);
	}

})()

 

方法二:

(function(){

	try {
	   ...
	} catch(e){
		console.info() && console.info("ManualEditor && CustomerEditor has a Bug");
		setTimeout(arguments.callee, 500);
	}
})()

我想了这两种办法,来确认先行条件已经具备。才执行后面的函数。

当然,这只是应急的方法,还有待完善。待我Code Review一下YUI 的async-queue

 
  • 我在说

  • 我在看

  • 新文章

  • 文章归档