콜백지옥,. 공부지옥... 끝이없다..........
const getDataFromFile = function(filePath, callback) { fs.readFile(filePatth, 'utf-8', (err,data) => { if(err) { // 에러가 있을때 callback(err,null); // 콜백함수가 받는 인자 } else { // 에러가 없을 때 callback(null, data); // 콜백함수가 받는 인자 } }); }; getDataFromFile('README.md', (err, data) => console.log(data));
callback
: 비동기로 작동하는 코드를 제어할 수 있는 또다른 방법 + 콜백지옥 방지역할 ( 안 쓸 이유 X )
class
이다 !!!!new
키워드를 통해 Promise 객체 생성executor
)를 인수로 전달받음 resolve
, reject
를 인수로 전달받음
➡️ 프로미스가 정상적(resolve)으로 처리된 경우의 프로미스 객체
➡️ new Promise
가 할당 된 변수 promise
를 호출하면 Promise
반환
➡️ 프로미스가 에러가 발생한 경우의 프로미스 객체
const getDataFromFilePromise = filePath => { return new Promise((resolve, reject)=> { // promise 객체를 반환 fs.readFile(filePath, 'utf-8', (err,data)=> { // node.js fs로 파일 불러오기 if(err) { // 에러가 있으면? reject(err) } else { // 에러가 없으면 ? resolve(data) } }); })};