Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

new_bird-hyun

JavaScript - try-catch를 함수형으로 wrapping하기 본문

코딩 공부

JavaScript - try-catch를 함수형으로 wrapping하기

새혀니 2025. 3. 31. 22:43

// 에러 핸들링을 함수로 추상화
const safeAsync = (fn) => async (...args) => {
  try {
    return [await fn(...args), null];
  } catch (err) {
    return [null, err];
  }
};

// 예제
const fetchUser = async (id) => {
  const res = await fetch(`/api/user/${id}`);
  if (!res.ok) throw new Error('User not found');
  return res.json();
};

(async () => {
  const [user, error] = await safeAsync(fetchUser)(1);
  if (error) {
    console.error('에러 발생:', error.message);
  } else {
    console.log('유저 데이터:', user);
  }
})();