1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
local-storage.ts 907
Копировать Редактировать Исходные данные Просмотреть построчно История
zengqiao Отправлено 4 лет назад c6e4b60
interface IData {
startTime: number;
value: string;
time: number;
}
export const setValueToLocalStorage = (key: string , value: string, time: number = 1 * 60 * 60 * 1000) => {
const data = {
startTime: (new Date()).getTime(),
value,
time,
} as IData;
localStorage.setItem(key, JSON.stringify(data));
};
export const getValueFromLocalStorage = (key: string) => {
let result = null;
const data = localStorage.getItem(key);
if (data) {
try {
result = JSON.parse(data);
const { startTime, value, time } = result;
const isTimeout = (new Date()).getTime() - startTime >= time;
if (isTimeout) {
deleteValueFromLocalStorage(key);
}
result = isTimeout ? null : value;
} catch (err) {
// do nothing
}
}
return result;
};
export const deleteValueFromLocalStorage = (key: string) => {
localStorage.removeItem(key);
};

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.2.0