いいえ、キャッシュされていないようです。
ただし、RESTリソースを非常に簡単にキャッシュすることができます。このようなRESTfulリソースがあると仮定しましょう。
$.Model('Example.Models.Example',
{
findAll: REST_BASEPATH + "/example"
}
これをキャッシュするために、最初に明示的なjQueryを使用してそのクエリを再実装します。
$.Model('Example.Models.Example',
{
findAll: function(){
$.ajax({
url: REST_BASEPATH + "/example",
type: 'get',
dataType: 'json',
})
}
}
これで、findAll関数は、JMVCが使用できるjQueryDeferredオブジェクトを返します。キャッシュを追加するには、最初の呼び出しで遅延オブジェクトを保存し、後続の呼び出しで同じオブジェクトを返すことができます。このような:
var cache = undefined
$.Model('Example.Models.Example',
{
findAll: function(){
if (!cache) {
cache = $.ajax({
url: REST_BASEPATH + "/example",
type: 'get',
dataType: 'json',
})
}
return cache
}
}
これはやや厄介だと思いますが、これは私が今日思いついたものです。もっとエレガントな方法があれば教えてください。