본문 바로가기

나의 FE피봇이야기/Javascript

[JS] return new Response

본 글은 무료 Gemini를 통해서 작성된 자료입니다.

보통 뒷단에서 쓰는 것으로 예상

새 응답 개체를 생성하여 호출자에게 다시 보내기 전에 속성 및 본문 콘텐츠(data.status or header etc)를 사용자 지정할 수 있습니다.
클라이언트에 보내기 전에 응답 데이터나 헤더를 조작해야 할 때 유용.

 

fetch('/data')
  .then(response => {
    if (!response.ok) {
      return new Response('Error fetching data', { status: 500, statusText: 'Internal Server Error' }); }
      return response.clone(); // Create a copy of the original response
    })
  .then(response => response.json())
  .catch(error => console.error(error));

 

async

function fetchData() {
  try{
    const response = await fetch('/data');
   
    if(!response.ok) {
      throw new Error('Error fetching data');
    }

  const data =  await response.json();
  return new Response(JSON.stringify(data), {
    status : 200,
    statusText : 'OK'
    });
}
catch (error) {
  return new Response(error.message, {
    status: 500,
    statusText : 'Internal Server Error'
  });
 }
}

 

타인의 코드를 보다가 궁금해서 찾아봄