CPS에서는 일반적으로 요류를 호출 체인의 다음에서 콜백으로 전달하여 수행된다.
Node.js 콜백 규칙에 따르면 오류는 콜백의 첫번째 인수로 전달된다.
const fs = require('fs')
function readJSON(fileName, callback){
fs.readFile(filename, 'utf8',(err,data)=>{
let parsed;
if(err)
// 오류 전달 후 현재 함수 종료
// 콜백이 호출되는 즉시 readJSON을 종료하기 위해 return을 사용한다.
return callback(err);
try{
parsed = JSON.parse(data)
}catch(err){
// 에러 catch 후 오류 전달
return callback(err);
}
callback(null,parsed)
}
}
비동기 콜백 내부에서 예외가 발생하면 예외가 이벤트 루프로 이동하여 다음 콜백으로 전파되지 않는다. 어플리케이션은 예외가 이벤트 루프에 도착하는 순간 중단된다.
'dev > JavaScript' 카테고리의 다른 글
debounce와 throttle (0) | 2020.08.20 |
---|---|
JavaScript 안정 정렬 (2) | 2020.07.28 |
JS 코딩테스트를 위한 코드 스니펫 (0) | 2020.07.20 |
자바스크립트 Execution Context 1 (0) | 2019.06.24 |
화살표 함수와 this (0) | 2019.05.30 |