在更新knockout中的可观察数组时遇到内存问题。每次,我运行我的更新脚本,内存似乎都会增加
我觉得我可能会以错误的方式更新。我必须每分钟从服务器获取信息以使列表保持最新。我这样做:
var Update = function () {
setTimeout(function () {
ko.mapping.fromJS(data.Students, vm.students)
Update();
}, 5000)}
但是,就像我说的那样,每次我获取信息时内存都会增加,然后它最终会崩溃网站。我正在使用的数组大约是110-120个对象。这是一个Jsfiddle,展示了我正在做的一个小例子。我已经读过,对于更大的数据集,偏离映射插件可能是一个更好的主意,这是我应该做的事情吗?似乎仍然会发生小数据集。任何建议将不胜感激!
答案 0 :(得分:1)
通过使用Update()调用本身,您可能会持有某个范围。你有没有使用setInterval的原因?
var interval = setInterval(function () {
ko.mapping.fromJS(data.Students, vm.students)
}, 5000)}
// eventually, when you're done
clearInterval(interval)