자바스크립트 예외처리 3/4
promise.catch();
function wait(sec){
return new promise((resolve,reject) => {
setTimeout(() => {
reject('error');
},sec * 1000);
});
}
wait(3);
프로미스를 리턴하는 함수를 하나 만듬
이 함수의 이름은 wait 이고
그래서
프로미스에서
익스큐터에서 하는일은
보다시피 셋타임함수내용임
즉,
주어진 sec 만큼 몇초뒤에 reject 를 하는것임
프로미스의 예외처리를 설명하려고하는거기때문에
리졸브를하지않고, 리젝트를하려고 했어요.
그래서 텍스트로 error 를 적었다.
한번 애를 호출해보면,
wait(3) 하면
Uncaught (in promise)
error!
이렇게 뜬다.
즉, 뭔가 여기서 에러가 처리되지않았다는 뜻이고,
그거는 in promise 라고 적혀져있다.
그럼
기존처럼 try catch 를 이용해서
이 예외를 잡아보도록합시다.
function wait(sec){
return new promise((resolve,reject) => {
setTimeout(() => {
reject('error');
},sec * 1000);
});
}
try{
wait(3);
}catch(e){
console.log(e);
}
이렇게 하면 에러가 안잡히죠,
왜냐면 이건 동기적인 코드가 아니에요.
이 try가 싸고있는 코드의 타이밍이 아니라,
.
프로미스 공부를 하고나서
이 강의를 볼것
아직은 이해불가.