我目前正在触发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知识是......有限的。让我知道是否需要澄清。
那么,上述解决方案正式工作。它看起来不像它最干净,但功能完美。我仍然乐于接受建议,因为在更多的地方实现这一点会创建大量额外的代码。 – Joseph 2011-01-10 22:10:55