2011-01-07 146 views
1

我目前正在触发YUI自定义事件,一组休息呼叫完成后。禁用加载栏的功能已订阅到自定义事件。但是,如果由于某种原因导致其他调用超时,我想禁用加载栏(加载栏灰显背景并阻止用户交互),并可能弹出一个弹出窗口,指出数据无法加载完全。我在想一个简单的超时会有诀窍,但我不确定它是否是最好的解决方案。这里有一些伪代码:火灾事件一旦超时或其他事件完成后

var event = new Yahoo...CustomEvent("abc"); 
event.fireOnce = true; //I don't need to fire this event multiple times 
event.subscribe(hideWaitBarFunction); 
window.setTimeout(event.fire(), 10000); 
//rest call 
event.fire(); //if rest call doesn't return after 10 seconds, hide wait bar anyway 

在这种情况下,事件应该只触发一次。现在假设我不想弹出一个错误,有没有更好的方法来做到这一点?我的javascript/yui知识是......有限的。让我知道是否需要澄清。

+0

那么,上述解决方案正式工作。它看起来不像它最干净,但功能完美。我仍然乐于接受建议,因为在更多的地方实现这一点会创建大量额外的代码。 – Joseph 2011-01-10 22:10:55

回答

0

我假设您使用的是YUI 2.x,在这种情况下,ConnectionManager的回调会有一个失败挂钩,您可以在此处插入此事件触发。这不适合你吗?

+0

这个问题在一年前问过。解决方案不再需要。 – Joseph 2012-04-13 14:54:07