조현영님께서는 switch 구문을 사용하는것에 대해 어떻게 생각하시나요?
152
작성한 질문수 49
라우트 매개변수를 활용해서 url에 데이터베이스의 id 컬럼값을 입력하면 그 id 컬럼에 해당하는 로우를 보여주는 라우터를 스위치 구문을 사용해서 나타내보았습니다.
router.get("/:id/info", async (req, res, next) => {
try {
let productInfo = await Product.findAll({});
switch (req.params.id) {
case "1":
productInfo = productInfo[1];
break;
case "2":
productInfo = productInfo[2];
break;
case "3":
productInfo = productInfo[3];
break;
case "4":
productInfo = productInfo[4];
break;
case "5":
productInfo = productInfo[5];
break;
case "6":
productInfo = productInfo[6];
break;
case "7":
productInfo = productInfo[7];
break;
case "8":
productInfo = productInfo[8];
break;
case "9":
productInfo = productInfo[9];
break;
case "10":
productInfo = productInfo[10];
break;
case "11":
productInfo = productInfo[11];
break;
default:
res.locals.message = "No more product on that url";
res.render("noProduct");
return 0;
}
res.locals.id = req.params.id;
res.locals.productName = productInfo.name;
res.locals.productPrice = productInfo.price;
res.locals.productOrigin = productInfo.origin;
res.locals.productType = productInfo.type;
res.render("productInfo");
} catch (err) {
console.error(err);
next(err);
}
});
근데 이런 방식의 단점은 id컬럼이 증가할 때마다 제가 수동으로 케이스문을 추가해야 한다는 것입니다. 조현영님께서는 스위치문을 현업에서 사용해보신 경험이 있으신가요? 사용하신다면 어떤 방향으로 사용하시나요?
답변 1
리눅스 노드 설치시 패키지
0
172
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
926
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2297
2
a[title] 질문드립니다
0
386
1
리뉴얼 강의 및 공부 방법
0
589
1
jwt decode
0
1137
1
node.js 교과서 3판 질문드립니다
0
396
1
passport와 jwt
0
438
1
리뉴얼 강의
0
427
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
359
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
488
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
511
2
nunjucks res.render('error'); 작동을 안합니다.
0
518
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3543
1
수업자료는 어디있나요?
0
374
1
질문 있습니디
0
244
1
multer 사용시 file 외 name값은 못받나용?
0
429
1
코드 중복 부분 질문드립니다.
0
303
1
api 만드는 이유 질문드립니다.
0
292
1
Strategy의 done에 대해 질문드립니다.
0
373
1
안녕하세요 fs 권한 관련 질문드립니다
0
455
1
시퀄라이즈 연결질문...
0
510
2
res.setHeader vs res.cookie
0
1797
3





