JSON 목록 읽기
async function fetchJsonList(url, fetcher = fetch) {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 10000);
try {
const response = await fetcher(url, {
headers: { Accept: 'application/json' },
signal: controller.signal
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
const items = Array.isArray(data) ? data : data?.items;
if (!Array.isArray(items)) throw new Error('목록 배열을 찾지 못했습니다.');
return items;
} finally { clearTimeout(timer); }
}
실제 주소로 호출하면 배열 또는 items 배열을 반환합니다. HTTP오류, 잘못된JSON, 목록 없는 응답은 호출부의catch에서 처리하세요. 브라우저 요청은 대상 서버의CORS설정도 확인해야 합니다.
서버 비밀키는 브라우저 코드에 넣지 말고 자신의 서버에서 API를 호출하세요. 타임아웃은10초라는 예시 설정이며 필요에 맞게 조정할 수 있습니다.
의견 보내기