아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
갸름한발발이266
갸름한발발이26619.06.03

node router에서 function return 받아서 res 처리하기

router.post...

에서 안에 if else가 너무 많아져서

깔끔하게 함수로 안의 내용을 뺀후

해당함수값을 받아서

res.json으로 보내려고하는데

return 값이 안찍히네요

콘솔로 찍어보니 분명

let ex = emailReturn(email);

res.json({message : ex})

이렇게 되어있는데 ex값 undefinded 로 나오고

function 안에서는 값 잘나오는데 말이죠..

console로 이것저것 찍어보니 순서랑 상관없이 res먼저 찍히고 함수가 돌아가는 것 같은데

제대로 값 받을수있는 방법 없을까요?ㅠㅠ?

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 혹시 emailReturn 함수가 통신을 한다거나 하는 비동기적인 함수가 아닐까요? 보통 질문 주신 상황은 Async await를 이용하면 해결됩니다.

    let ex = await emailReturn()

    res.json()

    이렇게 해서 동기적으로 만들어주는거죠.

    라우터에 async 붙이는 거 잊지마시구요.

    만약에 그런 문제가 아니라면 라우터 자체를 다시 천천히 작성해보세요. 절대 res.json이 먼저 호출되지 않습니다.