我正在使用Backbone.js和require.js构建应用程序。我的集合通过fetch()函数从后端获取数据。现在我有一个案例,其中fetch功能很昂贵,而且这个特定集合的数据不会发生变化,而且我会有更多的集合。所以我想将数据/集合保存在内存中。但我在实施中苦苦挣扎。我想保持require.js给出的延迟加载。什么是平常和"清洁"处理这个的方法?
答案 0 :(得分:1)
使用javascript闭包,例如:
var getCollection = (function(){
var coll;
return function(){
if( ! coll){
coll = new MyCollection();
coll.fetch();
}
return coll;
}
}());
第一次调用getCollection
时,将获取该集合。然后,每个后续调用都将获得缓存值。
有关这些模式的更多信息,请查看" Javascript模式"作者:Stoyan Stafanov(http://shop.oreilly.com/product/9780596806767.do)