Модель 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)
опять же он будет обслуживаться из кеша.