如何使我的Web应用程序(显示)更具响应性。 #webWorkers #deferred函数

时间:2015-06-05 09:39:09

标签: javascript jquery progress-bar jquery-deferred web-worker

我有几个java脚本函数正在点击事件或调用它们时进行计算密集型操作。我试图在调用这些函数时显示一个微调器/加载器,这样我的应用程序看起来响应更快,然后只停留15-20秒。要解决这个问题,我使用的是LoadingOverlay- http://gasparesganga.com/labs/jquery-loading-overlay/

我面临的问题是,即使在显示加载微调器并且控制流程移动到时间/计算密集型调用之后 - 浏览器冻结并且微调器gif停止旋转,从而击败应用程序看起来响应的整个目的。任何帮助我能做些什么来解决这个问题并改进功能都会很棒。感谢

Select: function () {
            console.log("--click event of Select button--");
            $("#buildSelectionDialog").LoadingOverlay("show");
            setTimeout(function(){
                var aData = getSelectedRowFromTable('buildsListTable');

                if (aData == null) {
                    alert("No Build Selected.");
                    return;
                }

                var selectedBuildName = aData[0];

                clearVisitorsEntry(); // View Cache is cleared as build is changing

                if ($('#dialogPurpose').val() == "1") {
                    setApplicationUnderTestBuild(selectedBuildName);

                    //MOST TIME Consuming STEP --
                    var autResults = getBuildResultsForTestType(getApplicationUnderTestBuild(), getSelectedTestType());
                     displayResultsForSelection();

                     updateRetrievalTimeTooltip(selectedBuildName);
                     enableAuxiliaryMenusForBuild(selectedBuildName);
                }
                else{
                    compareBuilds(selectedBuildName);
                }

                $("#buildSelectionDialog").LoadingOverlay("hide");
                $("#buildSelectionDialog").dialog("close");                    
            }, 500);
        }

0 个答案:

没有答案