[catch 메소드가 마지막에 있지 않은 경우]
다음 코드를 실행시키면,
fetch('https://jsonplaceholder.typicode.com/users')
.then((response) => response.text())
.catch((error) => { console.log(error); })
.then((result) => {
console.log(result);
throw new Error('test');
});
fetch 함수는 정상실행되어 response 가 잘 전달 되었으나, 그 뒤에서 발생한 에러는 잡지 못했음.
rejected 상태의 promise 가 남고 딱히 처리를 안해주면 웹 브라우저는 에러로 인식함.
[catch 메소드가 마지막에 있는 경우]
다음과 같이 catch 함수가 맨 마지막에 있으면,
fetch('https://jsonplaceholder.typicode.com/users')
.then((response) => response.text())
.then((result) => {
console.log(result);
throw new Error('test');
})
.catch((error) => { console.log(error); });
에러 발생하지 않고 정상적으로 출력 됨.
다음과 같이 잘못된 url 주소를 입력하는 경우,
TypeError 객체가 정상적으로 출력됨.
'JavaScript > Web Development' 카테고리의 다른 글
[JavaScript] Promise 객체 만들기 (0) | 2023.03.06 |
---|---|
[JavaScript] finally 메소드 (0) | 2023.03.06 |
[JavaScript] catch 메소드 (0) | 2023.03.05 |
[JavaScript] rejected 상태에서 실행할 콜백 (0) | 2023.03.05 |
[JavaScript] Promise Chaining (0) | 2023.03.03 |