인프런 커뮤니티 질문&답변
catchNoop을 해줘야되는 이유에 대해서 궁금한게있습니다.
작성
·
252
0
한 콜스택 내에서 error를 catch하지 못했기 때문에 error가 콘솔에 뿜어져서 catchNoop을 해준다고 하셨는데요.
C.reduce가 아니라 그냥 reduce의 경우에는 세로로 하나씩 실행되면서 filter가 Promise.reject(nop)을 리턴할 때가 있는데요. 이 call stack이 끝나고 reduce에 의해 recur이 실행되어 L.map으로 넘어가는데 L.map이 받은 Promise.reject(nop)은 filter와 다른스택 아닌가요? 제 생각으로는 L.map으로 가기전에 L.filter의 처리를 담은 프로미스가 끝나서 한 call-stack이 끝나고 C.reduce와 마찬가지로 에러를 만들어야될 것 같은데 아니네요.
답변 1
4
MDU 유인동
지식공유자
제가 알고 있는 한에서는 어쩔 수 없는 트릭 같은거라고 보고 있는데요.
평가가 이루어진 스코프에서 에러핸들링을 해놨어야 핸들링 안된 에러를 브라우저에 찍어버리지 않기 때문에 일단 거기서 에러를 찍지 않도록 살짝 정리해주고, 실제 의미 있는 핸들링은 이후에 하는 식으로 구현했습니다.





