具有来自外部缓存数据的 Falcor 模型 Api

Falcor Model with Cache data from External Api

如何将从外部 Api 发送过来的 json 数据缓存到 Falcor 模型中?此外,如果缓存中不存在数据,如何在模型中指定再次命中外部 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);
    });

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

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

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