JavaScript의 프로미스에서 발생하는 예외 상황

이제 프로미스 내부에서 발생하는 예외 상황을 처리하는 방법을 배워봅시다. 이러한 상황이 발생하면 프로미스의 함수에 자동으로 전달되는 두 번째 매개변수인 특별한 reject 함수를 사용하여 프로미스를 거부해야 합니다:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    ...
  }, 3000);
});

프로미스 함수 내부에서는 모든 것이 정상적으로 진행되면 resolve를 호출해야 하고, 예외 상황이 발생하면 reject를 호출해야 합니다:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // 프로미스 데이터
    } else {
      reject('error in promise'); // 당신의 에러 텍스트
    }
  }, 3000);
});

그런 다음 then 메서드에 매개변수로 하나가 아닌 두 개의 함수를 전달해야 합니다: 첫 번째는 프로미스가 정상적으로 실행되었을 때(해결되었을 때) 작동하고, 두 번째는 오류와 함께 실행되었을 때(거부되었을 때) 작동합니다:

javascriptpromise.then(
  function(result) {
    console.log(result); // 프로미스 결과를 출력합니다
  },
  function(error) {
    console.log(error);  // 에러 텍스트를 출력합니다
  }
);

일반적으로 위의 코드는 다음과 같이 더 간결하게 작성합니다:

javascriptpromise.then(function(result) {
  console.log(result); // 프로미스 결과를 출력합니다
}, function(error) {
  console.log(error);  // 에러 텍스트를 출력합니다
});
Задание 1

0부터 5까지의 난수를 생성하는 비동기 코드를 만드세요. 이 모든 것을 프로미스로 감싸세요. 프로미스가 생성된 숫자로 1을 나눈 결과를 반환하도록 하세요. 0으로 나누기가 발생하면 프로미스가 오류와 함께 실행되고, 다른 모든 경우에는 성공적으로 실행되도록 하세요.