프로그래밍/node.js
[Node.js API 개발] Node.js 모듈 사용 시 주의 할 점
hyeoke
2019. 5. 27. 00:40
# 핵심
모듈 함수가 async ~ await 문법으로 설계되어 있을 때 -> 모듈을 불러오 사용할 때도 await moduleName(val1, val2) 와 같이 사용할 것!
* 참고링크
https://stackoverflow.com/questions/45608525/async-await-promise-pending-error
Async/Await Promise Pending Error
I'm having a bit of an issue with an error dealing with promises. So initially I had my function set up like this, and it all worked fine, no problems. Original: const request = require("request-
stackoverflow.com
# 모듈 코드 - 유저 존재 여부 확인
const { User } = require('../../models');
exports.exUser = async (user_id) => {
const user = await User.findOne({ where: { id: user_id } });
if (user) {
return true
} else {
return false;
}
}
# 라우터에서 사용하기
// routes/user.js
router.get('/test', async (req, res, next) => {
try {
const { user_id } = req.query;
if (!user_id) {
response(res, 400, '로그인 필요');
return;
}
// 사용모듈이 async ~ await 문법을 사용할 시
if (await exUser(user_id)) {
console.log(billProject_id);
} else {
response(res, 404, "유저가 존재하지 않습니다.");
}
} catch (err) {
console.log(err);
response(res, 500, '서버 에러');
}
});