inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

6-15. 리트윗 API 만들기

게시글 존재 findone 중복제거

228

K1

작성한 질문수 2

0

안녕하세요~

게시글 존재 검사 중복로직을 제거해보려고 시도를 해보았습니다.

포스트 존재 확인후 조회한 post객체를 다시

router.post('/:id/like'.. 의  async(req,res,next)=>{} 함수로 넘겨주려고 했으나  방법을 못찾아 async(req,res,next)함수를 감싸는 방식으로 하였습니다.

router.post('/:id/like', isLoggedIn, isPost, asycn(req,res,next,post)) ->이런 방식으로 할 수 있는 방법이 있나요?

isLoggedin 미들웨어 는 단순히 next()로 다음 미들웨어로

넘기는 거라 하셔서 조회된 post 값을 어떻게 다음 미들웨어로 넘기는지 궁금합니다.


//middleware.js
const db = require( '../models' );
exports.isPost = asyncFunc => {
return (async (req, res, next) => {
try {
const post = await db.Post.findOne( {
where: {
id: req.params.id
},
} );
if ( !post ){
return res.status( 404 ).send( '게시글이 존재하지 않습니다.' );
}else{
return await asyncFunc( req, res, next, post );
}
} catch (e) {
console.error(e);
return next( e );
}
});
};


//post.js
router.post( '/:id/like', isLoggedIn, isPost( async (req, res, next, post) => {

try {

console.log( 'post',post );

await post.addLiker( req.user.id );
res.json( { userId: req.user.id } );

} catch (e) {
console.error( e );
next( e );
}

} ) );

react javascript

답변 1

2

제로초(조현영)

다음 미들웨어로 데이터를 넣을 때는 보통 req 객체의 속성으로 넣습니다. req.posts = posts;한 후 다음 미들웨어에서 req.posts로 받으면 됩니다.

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

484

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

448

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

434

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

976

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1