mirror of
https://github.com/toss/es-toolkit.git
synced 2024-12-01 10:45:08 +03:00
b31b3a6964
* feat(timeout): add timeout function * feat(timeout): timeout to withTimeout * Update docs/ko/reference/promise/withTimeout.md * Update docs/ko/reference/promise/withTimeout.md * feat(timeout): timeout, withTimeout * Update docs/ko/reference/promise/timeout.md * Update docs/ko/reference/promise/timeout.md * Update withTimeout.ts * Update timeout.ts * Apply suggestions from code review * Update withTimeout.md * Update withTimeout.spec.ts * Update src/promise/withTimeout.spec.ts --------- Co-authored-by: Sojin Park <raon0211@gmail.com> Co-authored-by: Sojin Park <raon0211@toss.im>
942 B
942 B
withTimeout
지정한 시간보다 늦은 시간에 응답할 경우 TimeoutError
에러로 처리해요.
이 함수는 특정한 시간 이후 보다 value의 응답이 늦게 올 경우 TimeoutError로 reject되는 Promise를 반환해요. async/await 함수를 사용하는 경우에 함수의 최대 실행 시간을 정할 수 있어요.
인터페이스
function withTimeout<T>(run: () => Promise<T>, ms: number): Promise<T>;
파라미터
run
(() => Promise<T>
): 실행할 비동기 함수.ms
(number
): Promise의 최대 실행 값을 지정할 밀리세컨드.
반환 값
(Promise<T>
): 주어진 비동기 함수가 반환하는 Promise
.
예시
기본 사용법
try {
await withTimeout(() => new Promise(() => {}), 1000); // 코드 최대 시간을 1초로 지정
} catch (error) {
console.error(error); // 'The operation was timed out' 로깅
}