console.time(”keyword”)
console.timeEnd(”keyword”)
const start = performance.now();
const end = performance.now();
Browser에서 가짜 url을 생성할 수 있다.
해당 브라우저에서는 생성한 url이 유효하지만 다른 브라우저에서는 존재하지 않는다.
위의 기능을 이용하여 이미지 preview를 storage를 거치지 않고 보여줄 수 있다.
: 화면에 이미지가 보일 뿐 storage에는 업로드 되지 않은 상태이다.
이 때 가짜 url을 생성한 이미지들을 for문으로 uploadfile을 하게 되면 사진의 갯수 만큼 요청이 가기때문에 시간 소비가 늘어난다.
때문에 이러한 경우 Promise.all()을 사용하여 요청을 보내게 된다.
이러한 방식을 사용할 경우 Storage의 비용, 미리모기 속도의 향상을 가져올 수 있다.
Blob : 사이즈카 큰 파일 타입을 의미한다.
** Promise.race() 라는 기능도 있다.
const results = await Promise.all(
["철수", "영희", "훈이"].map(
(el) =>
new Promise((resolve, reject) => {
setTimeout(() => {
resolve(el);
}, 3000);
})
)
);
console.log(results);
useEffect(() => {
const img = new Image();
img.src = url;
img.onload = () => {
setImgTag(img);
};
}, []);
const onClickImagePreLoad = () => {
if (imgTag) divRef.current?.appendChild(imgTag);
};
<div ref={divRef}></div>
<button onClick={onClickImagePreLoad}>이미지 프리로드</button>
webp로 확장자를 변경하면 이미지 다운로드 성능을 높일 수 있다.
.toString(진법)
parseInt()
a = 125;
a = a.toString(3)
console.log(a)
// 결과값 : '11122'
a = parseInt(a, 3)
console.log(a)
// 결과값: 125