2011-11-27 32 views
-2

删除警报会导致系统无法运行。这个问题在这里提出删除警报会导致系统无法运行

response = exchange.load_response(); 
// alert(response); 
document.getElementById(exchange.get_output()).innerHTML = response; 
// alert(response); 
setTimeout('do_branding()',3000); 

,但我不知道它是如何解决的

+0

你可能在某处有一个[竞争条件](http://en.wikipedia.org/wiki/Race_condition),这个警告会被删除,因为它会等待你点击按钮。 – Bojangles

+0

你在做什么..! –

+0

请解释你面临的问题是什么?你不能只用别人的解决方案来解决你的问题。您的问题可能会有所不同,请告诉我们您的代码。 – pramodtech

回答

0

这似乎是一个竞争条件... setTimeout不会解决它,因为它不与等待其余的JS,它只是在你告诉它的时间后拨打电话...

你应该使用回调(这完全解决了问题),或者如果这是不可能的,你真的想要通过等待解决竞争条件然后有几种方法来实现sleep函数 - 请参阅基于回调的示例http://juixe.com/techknow/index.php/2005/10/28/put-javascript-to-sleep/

+0

谢谢,我正在看那 – Thaps

+0

@Esailija我的回答是在OP发布代码之前! busy while循环的问题在提供的第一个链接(添加提示)中显式描述,第二个链接显示了不同的方式(不忙等待),并且使用jQuery'.delay'你是对的(删除它)...一个点虽然:当downvoting请总是留下评论和解释... – Yahia

+0

@Esailija没有代码,并声称'setTimeout'不适用于他(虽然不好!)选项...第二个链接实际上是指向一个基于回调的解决方案BTW ... – Yahia