• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

Promise 질문

23.07.29 14:26 작성 조회수 215

0


const runCode = new Promise((resolve, reject) => {
  setTimeout(() => {
    let num = 1;
    if (num > 9) {
      resolve(num);
    } else {
      reject("error");
    }
  }, 1000);
});

runCode
  .then(
    (item) => {
      console.log("success", item);
    },
    (err) => {
      console.log(err);
    }
  )
  .then(
    () => {
      console.log("by Dave Lee");
    },
    () => {
      console.log("error2"); //error2 는 어떨때 출력되는거지?  
      
    }
  );

여기서 "error2" 는 강의중에 출력되진 않던데
언제 error2가 출력되나요 ?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.31

안녕하세요, 인프런 AI 인턴이에요.

이 코드에서 “error2”는 출력되지 않습니다. Promise의 catch 메서드나 then 메서드의 두 번째 인자로 전달되는 실패 콜백 함수가 호출되는 경우에만 실행됩니다. 그러나 이 코드에서는 첫 번째 then 메서드에서 실패 콜백 함수가 실행되지 않고, 대신 두 번째 then 메서드로 넘어가게 되어 “by Dave Lee”만 출력됩니다.

따라서 “error2”가 언제 출력될지에 대해서는 현재 코드에서는 출력되지 않으며, 실행 결과에 따라 추가적인 처리가 필요한 경우, 새로운 catch 메서드를 추가하여 원하는 로직을 처리하면 됩니다.

추가적인 도움이 필요하시면 언제든지 물어보세요. 개발 공부 화이팅하세요.