inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Node.js 교과서 - 기본부터 프로젝트 실습까지

회원가입 구현

await 관련 질문드립니다.

해결된 질문

177

exsylee

작성한 질문수 4

0

안녕하세요. 강의 잘 듣고있습니다. 

다름이 아니라 강의에 나온 내용대로 실습을 진행하고 있는데,

await 구문에서 에러가 발생하여 문의합니다. 

const express = require('express');
const bcrypt = require('bcrypt');
const passport = require('passport');

const { User } = require('../models');


const router = express.Router();

// POST /auth/join
router.post('/join', (req, res, next) => {
const { email, nick, password } = req.body;
try {
const exUser = await User.find( { where: { email } });
if (exUser) {
req.flash('joinError', '이미 가입된 이메일입니다.');
return res.redirect('/join');
}
const hash = await bcrypt.hash(password, 12);
await User.create({
email,
nick,
password: hash
});
return res.redirect('/');
} catch (error) {
console.log(error);
next(error);
}
});

package.json 버전입니다.

"dependencies": {
"bcrypt": "^5.0.0",
"connect-flash": "^0.1.1",
"cookie-parser": "^1.4.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"express-session": "^1.17.1",
"morgan": "^1.10.0",
"mysql2": "^2.1.0",
"passport": "^0.4.1",
"passport-kakao": "^1.0.0",
"passport-local": "^1.0.0",
"pug": "^3.0.0",
"sequelize": "^5.21.13"
},

실행하면  아래와 같이 await 구문에 async함수가 아니라고 나오는데요..  bcryt.hash 함수도 마찬가지 입니다. 

어떻게 처리해야 할까요? 

[nodemon] starting `node app.js`

C:\nodejs-workspace\nodejs-book\nodebird\routes\auth.js:14

        const exUser = await User.find( { where: { email } });

                       ^^^^^

SyntaxError: await is only valid in async function

?[90m    at wrapSafe (internal/modules/cjs/loader.js:1054:16)?[39m

?[90m    at Module._compile (internal/modules/cjs/loader.js:1102:27)?[39m

?[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)?[39m

?[90m    at Module.load (internal/modules/cjs/loader.js:986:32)?[39m

?[90m    at Function.Module._load (internal/modules/cjs/loader.js:879:14)?[39m

?[90m    at Module.require (internal/modules/cjs/loader.js:1026:19)?[39m

?[90m    at require (internal/modules/cjs/helpers.js:72:18)?[39m

    at Object.<anonymous> (C:\nodejs-workspace\nodejs-book\nodebird\app.js:12:20)

?[90m    at Module._compile (internal/modules/cjs/loader.js:1138:30)?[39m

?[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)?[39m

nodejs mysql mongodb javascript

답변 1

0

제로초(조현영)

router.post('/join', async (req, res, next)

입니다.

실제 서비스에서도 cluster를 사용하나요?

1

313

2

캐싱에 관하여

0

279

3

salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?

0

347

1

게시물 올리기 오류

0

408

1

캐슁 이후 로그인창

0

266

1

kakao passport 질문있습니다.

0

493

3

global객체 공유 질문드립니다.

1

417

1

서버가 죽어버리네요

0

1047

8

포링키 문제..

0

234

2

커넥션 플래시 설치문제

0

216

2

익스프레스 제너레이터? 설치문제

0

2585

6

redis 질문입니다.

0

305

1

9장 세션을 DB에 저장시 리다이렉션 오류 발생

0

874

8

프레임워크 선택에 관하여 질문이 있습니다.

0

300

3

시퀄라이즈 질문입니다 ! !

0

588

1

리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문

0

922

6

oAuth 질문입니다.

0

356

3

GCP 질문입니다.

0

366

1

Passport 모듈 로그인 구현관련

0

720

6

카카오 로그인 관련 질문입니다!!

0

606

4

스스로 해보기 10-16 nunjuncks 질문있습니다

0

499

5

제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.

0

317

2

gif채팅방 nunjucks관련 질문입니다!

0

337

3

현영님 몽고db관련 질문입니다.

0

233

3