将大量模型分配给集合

时间:2012-09-13 14:23:53

标签: javascript arrays backbone.js local-storage

我有一个包含~1200个对象的数组,我想将它们分配给Collection但是我总是会超时。

我试过这个(我承认不是很优雅):

_.each(mightyArray, function(mightyArrayItem){
  BigCollection.create(mightyArrayItem);
});

这有效,但速度很慢: - (

修改

也许我走错了路。我正在使用backbone-localstorage.js而不是某种远程数据库,因此localStorage本身可能会降低所有内容的速度?

修改2

我认为问题在于localStorage.setItem()的表现。我现在试试indexedDB: - /

更新/解决方案

我在index.html上添加了数据后,由于某种原因它起作用了。也许是范围问题..

<script> 
  BigCollection.allItems = new BigCollection.AllItems();
  BigCollection.allItems.add( BigCollection.allItemsArray ); // Add all the data
</script>

1 个答案:

答案 0 :(得分:0)

看起来您正在创建1200请求。你应该更好地制作自己的请求,将数据保存到服务器,然后制作

BigCollection.add(mightyArray,{silent: true});

传递无声将避免对服务器的所有请求。