Рекомендации по кэшированию для разработки мобильных гибридных / мостовых приложений
Мне действительно нужно ограничить любой ненужный сетевой трафик и серверные поездки. Решение: кеширование здравого смысла. (Я не собираюсь кэшировать все под солнцем).
Однако, после прочтения документации по 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);