Как правильно сравнивать временные метки?
Здравствуйте. Подскажите, пожалуйста как правильно реализовать следующую логику: при первом посещении сайта, я записываю получаю данные сервера (json), записываю эти данные в localstorage. Далее при перезагрузке страницы, я получаю эти данные с localstorage, например:
[ {id: 5, name: 'Mikhail', value: '18.35'}, {id: 3, name: 'Yuri', value: '13.25'}, {id: 1, name: 'Alexey', value: '07.25'}, {id: 2, name: 'Ruslan', value: '09.55'}, {id: 4, name: 'Ruslan', value: '13.55'} ] И мне нужно проверить, делал ли я запрос на сервер последний раз, например 30 минут назад, и если да, то сделать его снова (true), нет: false. Т.е. как мне правильно записать время запроса и при перезагрузке страницы сравнить текщее время с предыдущим временем запроса? |
Цитата:
Цитата:
Прочитай записанную строку с датой и временем... Если она есть - преобразуй ее в дату и время... Просто сравни данные одного типа... |
gsdev99,
function initData(key, url, onComplete, time) { var value = localStorage[key]; if (value) { value = JSON.parse(value); if (new Date - value.time > time) { update(); } else { onComplete(value.data); } } else { update(); } function update() { $.getJSON(url, function (data) { value = { time: +new Date, data: data }; localStorage[key] = JSON.stringify(value); }).always(function () { onComplete(value && value.data); }); } } initData('myData', 'example.json', function (data) { if (!data) return; // data.id // data.name // data.value }, 30 * 60 * 1000); |
Спасибо.
|
Часовой пояс GMT +3, время: 02:42. |