替换window.setTimeout

时间:2011-06-02 07:50:02

标签: javascript

球员,    我正在考虑用我自己的函数替换window.setTimeout(例如,我们可以为回调中抛出的异常设置一个通用的错误处理程序)。

代码将沿着以下几行:

var nativeSetTimeout = window.setTimeout;
window.setTimeout = function(fn, interval){
    nativeSetTimeout(function(){
            try{
               fn();
            }catch(e){
                // handle errors coming from the execution of fn
            }
        }, interval);
}

鉴于我的应用程序将保留在一个iframe中,是否有任何我应该关注的未解决问题?

2 个答案:

答案 0 :(得分:4)

我不会这样做,因为它可以帮助您自己的开发,但替换标准功能可能会破坏第三方库。

基本上,使用您自己的功能而不替换标准功能应该是可行的方法。在代码中使用它。

答案 1 :(得分:1)

可以这样做,但除非你故意试图拦截现有代码或第三方库的行为,否则只需编写一个带有替代名称的包装器就更清楚了,例如function setSafeTimeout(fn, timeout) { ... ; return setTimeout(fn, timeout);}