具有来自外部 API 的缓存数据的法尔科模型



从外部 API 发送过来的 json 数据将如何缓存到 Falcor-Model 中?另外,如果缓存中不存在数据,如何在模型中指定再次命中外部 API?

我的疑问在其中一篇文章中得到了部分回答: Falcor如何在服务器端缓存数据?

所以现在我明白 Falcor-Model 缓存只在客户端工作,这很好。但是,如果数据不存在于缓存中,模型将如何工作?

var model = new falcor.Model({source: new falcor.HttpDataSource('http://localhost/rating.json') });
model.
get("rating").
then(function(response) {
document.getElementById('filmRating').innerText = JSON.stringify(response.json.rating,null, 4);
});

这里的响应是一个 json 对象,可以放入 Falcor-Model 缓存中并全局存储在客户端。但是,如果缓存中不存在数据,如何再次触发模型?

使用 Falcor 的主要优点是,您不必关心数据是存在于缓存中还是从服务器获取,因为model.get()通过发出 HTTP 请求从服务器获取缓存中丢失的所有数据。

因此,第一个model.get(path)查询将从服务器获取,并将响应放在缓存中。如果再次调用model.get(path),它将从缓存中提供。

最新更新