코드보기 : https://github.com/maplesyrup0423/DevTyper
gitHub API를 단기간에 많이 요청하면 403에러가 발생함
그렇기에 다음 사항을 적용함
const [isFetching, setIsFetching] = useState(false); // API 요청 중 여부
const fetchDelay = 2000; // 요청 간격 (2초)
if (retryCount > 0) {
console.log("재시도 중...");
await new Promise((resolve) => setTimeout(resolve, fetchDelay)); // 2초 대기 후 재시도
await fetchJSFilesFromGithub(retryCount - 1);
}
if (!response.ok) {
console.log(`${randomRepo}의 GitHub API 요청 실패: ${response.status}`);
if (response.status === 403) {
console.error("API 요청이 금지되었습니다. 잠시 후 다시 시도합니다.");
return; // 403 오류가 발생했을 때 더 이상 요청하지 않음
}
return; // 요청 실패 시 함수 종료
}
console.log("파일에 코드 조각이 없습니다. 다시 시도합니다.");
setTimeout(() => {
setIsFetching(false); // 요청 완료 후 상태 리셋
fetchJSFilesFromGithub(); // 코드 조각이 없으면 다시 파일을 가져옵니다.
}, fetchDelay);
자세한 수정사항은 깃허브 참고