Javascript:尝试在不冻结浏览器的情况下加载highcharts

时间:2014-10-31 10:42:42

标签: javascript asynchronous highcharts

我需要加载n个图形,但不是等待浏览器冻结1分钟,我希望在创建/渲染第一个图形后,它会在移动到下一个图形之前出现在屏幕上。

我使用的“策略”在我的代码的另一部分中起作用,为什么不在这里工作?

代码:

var i = -1;
var total = 10;
function moveToTheNext() {
    saySomething()
    .then(function() {return $timeout(function(){},1000);})
    .then(nextChart());
    }

function saySomething() {
    console.log('hey')
    var deferred = $q.defer();
    deferred.resolve();
    return deferred.promise;
    }

function nextChart() {
    i++;
    if (i <= total) {
        // some stuff
        chart[i] = new Highcharts.Chart({
            //....
        },moveToTheNext());
        }
    }

UPDATE 错误在于执行nextChart函数

function moveToTheNext() {
    saySomething()
    .then(function() {return $timeout(function(){},1000);})
    .then(function() {nextChart();});
    }

现在有效:)

1 个答案:

答案 0 :(得分:0)

已解决,请参阅问题中的更新代码