javascript

[JS] Promise.race를 사용하여 timeout 구현하기

// 1초 후에 실행되는 Timeout Promise 객체
const timeoutPromise = new Promise((resolve, reject) => {
  setTimeout(reject, 1000, "timeout");
});

// 2초 후에 실행되는 Promise 객체
const myPromise = new Promise((resolve, reject) => {
  setTimeout(resolve, 2000, "resolve");
});

// Promise 실행 함수
const race = async () => {
  try {
    // 프로미스 배열 중에 가장 먼저 resolve/reject가 실행되는 결과를 출력한다.
    const response = await Promise.race([myPromise, timeoutPromise]);
    console.log(`Response: ${response}`);
  } catch (error) {
    console.log(`Error: ${error}`);
  }
};

// app 실행
race();

실행 결과

Promise.race 함수와 Promise 객체를 통해서 timeout 기능을 구현할 수 있다.

API timeout에 적용할 수 있겠다.

'javascript' 카테고리의 다른 글

정규표현식으로 사이에 있는 내용 가져오기  (0) 2023.02.12
HTML 문서 렌더링  (0) 2020.11.19
fetch  (0) 2020.11.15
XMLHttpRequest  (0) 2020.11.10
Promise  (0) 2020.11.03