0

我正在使用一些静态数据来使用立体主义的context.metric函数生成图表。然而,尽管我在回调函数中传递了不同的数组,但所有图表最终都显示了相同的值数组(最后一个传入) 。

var metrics = [];
for (var key in toGraph) {
    var m = context.metric(function(start, stop, step, callback) {
        callback(null, toGraph[key]);
    }, key);

    metrics.push(m);
}

toGraph是一个字典,键是每个指标的名称,值是指标值的数组。

最终显示的值始终是我传入的最后一个值数组。

我不知道出了什么问题。我是使用错了context.metric还是使用了错误的回调函数?任何帮助将不胜感激,谢谢!

4

2 回答 2

2

你可以看看这个例子 - http://bl.ocks.org/syntagmatic/5803524

于 2013-06-29T09:41:27.463 回答
0

原来这是一个javascript闭包内部循环问题。

thisthis这样的例子解释了这个问题。

于 2013-07-01T19:06:14.260 回答