await async

Jay·2022년 6월 26일
0

flextube 클론

목록 보기
1/15
  • callback function 의 장점은 에러들을 바로 볼 수 있다는것
  • 하지만 js의 단점은 기다리는 기능이 없어서 아무리 위에서 아래로 읽어도 database에서 불러- - 오는 시간이 있어서 순서가 꼬인다 그래서 callback function을 썼었다.
  • 하지만 await,async가 생기면서 달라졌다!!
  • await는 database에게 결과값을 받을때까지 js가 기다리게 해줄 수 있다..!!
  • await,async의 장점은 매우 직관점이라는것 즉 js 가 어디서 어떻게 기다리는지 알 수 있다
  • await는 규칙상 function이 async 상태일때만 안에서 사용 가능!
  • 하지만 callback function과 달리 promise방식은 error 가 어디서 오는지 명확하지가 않다
  • 그래서 try catch 방법을 쓴다
  • 말그대로 try 안에 있는 코드를 실행해보고 오류가 생기면 catch 안에 코드가 실행되는구조

핵심 코드

video.find({}, (error, videos) => {
if(error){
return res.render("server-error")
}
return res.render("home")
});

===same thing

export const home = async (req, res) => {
try {
const videos = await video.find({});
return res.render("home", { pageTitle: "Home", videos });
} catch {
return res.render("server-error");
}
};
profile
위대한 첫 걸음!

0개의 댓글