Knockout Observable Array在更新后增加内存

时间:2015-03-03 16:14:04

标签: javascript knockout.js knockout-mapping-plugin knockout-mvc

在更新knockout中的可观察数组时遇到内存问题。每次,我运行我的更新脚本,内存似乎都会增加 enter image description here

我觉得我可能会以错误的方式更新。我必须每分钟从服务器获取信息以使列表保持最新。我这样做:

 var Update = function () {
 setTimeout(function () {
     ko.mapping.fromJS(data.Students, vm.students)
     Update();
 }, 5000)}

但是,就像我说的那样,每次我获取信息时内存都会增加,然后它最终会崩溃网站。我正在使用的数组大约是110-120个对象。这是一个Jsfiddle,展示了我正在做的一个小例子。我已经读过,对于更大的数据集,偏离映射插件可能是一个更好的主意,这是我应该做的事情吗?似乎仍然会发生小数据集。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

通过使用Update()调用本身,您可能会持有某个范围。你有没有使用setInterval的原因?

var interval = setInterval(function () {
        ko.mapping.fromJS(data.Students, vm.students)
    }, 5000)}
// eventually, when you're done
clearInterval(interval)
相关问题