Sever/Node.js

오류 전파

일등하이 2020. 10. 14. 18:10
반응형
//오류 전파
//동기식 직접 스타일 함수의 오류 전파는 잘 알려진 throw문을 사용해 수행되므로 오류가 catch될때가지 호출 스택에서 실행된다
//비동기식 CPS에서 적절한 오류 전달은 오류를 호출 체인의 다음에서 콜백으로 전달 하여 수행된다
//일반적인 패턴은 다음과 같다

const fs = require("fs");
function readJSON(filename, callback) {
  fs.readFile(filename, "utf8", (err, data) => {
    let parsed;
    if (err)
      //오류를 전달하고 현재 함수를 종료
      return callback(data);
    try {
      parsed = JSON.parse(data);
    } catch (err) {
      return callback(err);
    }
    //에러가 없으면 데이터를 전달
    callback(null, parsed);
  });
}

readJSON("./herbs_data.json", (err, data) => {
  console.log(data);
});
반응형