Рекомендации по кэшированию для разработки мобильных гибридных / мостовых приложений

Мне действительно нужно ограничить любой ненужный сетевой трафик и серверные поездки. Решение: кеширование здравого смысла. (Я не собираюсь кэшировать все под солнцем).

Однако, после прочтения документации по Caching Files и реализации нескольких быстрых примеров, когда лучше всего кешировать результат ajax json? Конечно, я могу делать обычную проверку кэша / нет кэша каждый раз, когда отображается мое представление. Но есть ли способ выполнить асинхронную загрузку во время первоначального запуска приложения для предварительной выборки удаленных данных, которые, как я знаю, понадобятся пользователю? Является ли использование события connectionStateChanged единственным (или ближайшим) способом? Есть ли способ "зацепить" экран-заставку (да, я знаю, что Apple хочет, чтобы экран-заставка был в основном для перехода)? window.onload?

1 ответ

Решение

Так что, если я вас правильно понимаю, вы ищете способ асинхронной выборки удаленных ресурсов один раз при каждом запуске приложения и кэширования этих данных?

Наш модуль запросов по своей природе является асинхронным, поэтому вы можете просто forge.request.ajax чтобы начать получать ответ Ajax, затем сохраните его в модуле настроек.

Хотя на практике он, вероятно, идентичен, вы можете даже обернуть его в setTimeout, чтобы сделать его еще более асинхронным:

setTimeout(function ()
  forge.request.ajax({
    url: 'http://example.com/method.json',
    success: function (data) {
      forge.prefs.set("method.json-cache", data);
    }
  });
}, 10);
Другие вопросы по тегам