Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 다른컴퓨터에서 git사용
- KDT 프로그래머스 데브코스 프론트엔드
- 쌓임맥락
- nextjs사용법
- KDT 프로그래머스
- 폼 입력 바인딩
- flex
- Vue
- react next
- postcss
- Spacer
- intersection opserver
- SCSS import
- netlify redirect
- vue mixin
- 프로그래머스 데브코스 프론트엔드
- 프로그래머스 프론트엔드 데브코스
- 고양이 사진 검색기
- 리스트 렌더링
- SCSS forward
- vue 지역 컴포넌트
- vuex map
- SCSS extend
- 리액트
- SCSS use
- 프로그래머스 데브코스
- 프로그래머스 K_Digital Training
- 이벤트 수식어
- git 같은계정 다른 컴퓨터
- vue 이벤트 수신
Archives
- Today
- Total
혼자 적어보는 노트
데브매칭 연습 - 고양이 사진첩 본문
고양이 사진첩은 이전에 데브코스 강의에서 한번 다룬 적이 있었어서
한번 로딩된 데이터를 메모리에 캐시하는 부분 빼고는 전부 구현했다.
한번 해봤기 때문에 4개의 연습 과제중 가장 수월하게 구현하긴 했지만,
기억을 더듬으며 했던 것 같다 ㅎㅎ
💡 알게된 점
Cache Storage
LocalStorage나 SessionStorage에서 메모리를 캐시하면 되겠다 라고 생각했는데
cache API가 있다는 것을 알게 되었다.
Cache API를 활용하면 웹 캐시에 복사된 데이터를 제어할 수 있다.
저장된 캐시를 확인하려면 개발자도구-애플리케이션-cacheStorage에서 확인할 수 있다.
몇 가지 테스트 해보며 사용해보니 local, session Storage랑 비슷하게 사용 할 수 있었다.
function App() {
const url = 'https://jsonplaceholder.typicode.com/posts';
const cacheName = 'apiCache';
const fetchUrl = async () => {
const cacheStorage = await caches.open(cacheName);
const cacheData = await cacheStorage.match(url);
// 일치하는 값이 없다면 undefined 반환
try {
if (cacheData) {
console.log(await cacheData.json(), 'cacheData');
} else {
const res = await fetch(url);
await cacheStorage.put(url, res);
console.log(res, 'fetch response');
}
} catch (e) {
console.log(e);
}
};
fetchUrl();
}
export default App;
❗ cache Storage는 Promise를 반환하기 때문에 await을 사용해주어야 한다.
❗ cacheStorage에 put을 사용하여 값을 넣을 땐 response 유형을 넣어주어야 한다.
'Javascript' 카테고리의 다른 글
[Netlify+Javascript] 배포하며 겪은 시행 착오들 (0) | 2022.09.06 |
---|---|
dotenv로 환경 변수 설정하기 (0) | 2022.09.01 |
데브매칭 연습 - 고양이 사진 검색 사이트 (0) | 2022.08.25 |
데브매칭 연습 - 쇼핑몰 SPA (0) | 2022.08.24 |
데브매칭 연습 - 프로그래밍 언어 검색기 (0) | 2022.08.23 |
Comments