Модель Falcor с данными кэша из внешнего API

Как данные json, отправленные с внешнего Api, будут кэшироваться в 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 и сохранить глобально на стороне клиента. Но как Модель может быть запущена снова, если данные отсутствуют в кеше?

1 ответ

Решение

Основным преимуществом использования Falcor является то, что вам не нужно заботиться о том, присутствуют ли данные в кэше или извлекаются с сервера, потому что model.get() которые получают все данные, отсутствующие в кэше, с сервера, отправляя HTTP-запрос.

Итак, первый model.get(path) запрос будет получен с сервера и помещен в кеш. Если вы позвоните model.get(path) опять же он будет обслуживаться из кеша.

Другие вопросы по тегам