당연히 then을 써야한다 생각했다. 엄청 표류하였다.
"then 블록을 통하여 파일 내용이 전달되어야 합니다"
이 말을 듣고, then을 써야할 궁리만 생각했었다 .
const getDataFromFilePromise = filePath => {
return new Promise((resolve,reject)=>{
fs.readFile(filePath, 'utf8', (err,data) => {
.then((data) =>{
console.log(data
})
.catch(err)
});
})
};
참고는 정말 다양히 하였다 .
function getData() {
return new Promise(function(resolve, reject) {
$.get('url 주소/products/1', function(response) {
if (response) {
resolve(response);
}
reject(new Error("Request is failed"));
});
});
}
// 위 $.get() 호출 결과에 따라 'response' 또는 'Error' 출력
getData().then(function(data) {
console.log(data); // response 값 출력
}).catch(function(err) {
console.error(err); // Error 출력
});
https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
이곳에서 '프로미스 코드 - 쉬운 예제' 를 보면서 생각도 했었다가 ,
reject(new Error("Request is failed"));
이 부분이 매우 걸려, 난감해했다.
일단 아무것도 통과시키질 못한듯 싶다. 오류였다. 사실 then, catch 이부분을 마치
조건문의 true/false의 결과 처럼 이용하려 했었다 . 그리고 그것을 기대 하였다만,
내 생각만큼 제대로 작동해 주질않았다. 이 부분 보충학습이 필요한 시점일까 ?
const getDataFromFilePromise = filePath => {
return new Promise((resolve,reject)=>{
fs.readFile(filePath, 'utf8', (err,data) => {
if (err) {
reject(err,null) // 에러를 던집니다.
} else{
resolve(data, null)
}
});
})
};
결과는 이렇다. 사실 페어님도 나랑 같은난관에 봉착하셨다.
그리고, resolve에 한번 전 문제처럼 같은 형식으로 넣어봤다고 한다.
그러더니 문제가 풀렸다.
한번 최대한 비슷한 유형의 문제가있다면 한번 시도해볼만한 것은 어떨까 ?