具有来自外部 Api 的缓存数据的 Falcor 模型
Posted
技术标签:
【中文标题】具有来自外部 Api 的缓存数据的 Falcor 模型【英文标题】:Falcor Model with Cache data from External Api 【发布时间】:2018-01-29 13:29:51 【问题描述】:从外部 Api 发送过来的 json 数据如何缓存到 Falcor-Model 中?另外,如果缓存中不存在数据,如何在Model中指定再次命中外部Api?
我的疑问在其中一个帖子中得到了部分回答: How does Falcor cache data in the server side?
所以现在我了解到 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 缓存并全局存储在客户端。但是如果缓存中不存在数据,如何再次触发模型呢?
【问题讨论】:
【参考方案1】:使用 Falcor 的主要优点是您不必关心数据是否存在于缓存中或从服务器获取,因为model.get()
通过发出 HTTP 请求从服务器获取缓存中丢失的所有数据.
所以,第一个model.get(path)
查询将从服务器获取,并将响应放入缓存中。如果您再次调用model.get(path)
,它将从缓存中提供。
【讨论】:
以上是关于具有来自外部 Api 的缓存数据的 Falcor 模型的主要内容,如果未能解决你的问题,请参考以下文章