JavaScript 脚本执行时间太长.获取脚本需要太长时间提示

JavaScript Script Taking Too Long to Execute. Getting the Script Taking Too Long Prompt

本文关键字:脚本 长时间 提示 执行时间 JavaScript 获取      更新时间:2023-09-26

我有一个JavaScript函数buildTable,它构建了一个很长的HTML表。

 function buildTable() {
                for (var i = 0; i < rowCount; i++) {
     .. code to create table
}

}

buildToolsetTable 花费太多时间,几秒钟后 IE 7 显示提示,如果我想继续运行脚本。我读到我可以使用 window.setTimeout 进行另一个调用并刷新执行,但如果有人有实现,那么它将非常有帮助。

你需要这样的东西,将循环分解为一个单独的函数,每次迭代都会调用:

(function(n) {
    var i = 0;
    function doWork() {
        // do one row's worth of stuff here
        ...
        if (++i < n) {
            setTimeout(doWork, 0);
        } else {
            // do your tidy up here
            ...
        }
    }
    doWork(); // start the first iteration
})(rowCount);

调用setTimeout()将允许浏览器使用您自己的代码穿插 UI 事件处理。

请参阅 http://jsfiddle.net/alnitak/8wXTT/

为了增加乐趣,将单次迭代和整理函数回调设置为单次迭代,以便您可以将此代码设置为独立代码,只需传入所需的参数。