-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
catchNoop을 해줘야되는 이유에 대해서 궁금한게있습니다.
19.05.02 17:37 작성 조회수 154
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와 마찬가지로 에러를 만들어야될 것 같은데 아니네요.
함수형 프로그래밍과 JavaScript ES6+
지연된 함수열을 병렬적으로 평가하기 - C.reduce, C.take [2]
강의실 바로가기
답변을 작성해보세요.
4
유인동
지식공유자2019.05.03
제가 알고 있는 한에서는 어쩔 수 없는 트릭 같은거라고 보고 있는데요.
평가가 이루어진 스코프에서 에러핸들링을 해놨어야 핸들링 안된 에러를 브라우저에 찍어버리지 않기 때문에 일단 거기서 에러를 찍지 않도록 살짝 정리해주고, 실제 의미 있는 핸들링은 이후에 하는 식으로 구현했습니다.
답변 1