작성
·
1.5K
0
안녕하세요 계속 헤메다가 해결이 안되서 혹시 답을 얻을 수 있을까 하고 질문을 남겨봅니다..
댓글에 사용자 태그 기능을 추가하여 알림과 메일이 전송되게 구현을 해놓았는데요,
알림과 메일 필요한 유저를 배열로 만들고 await Promise.all 을 사용하여 전송을 하고 있으며 없는 경우에는 실행 되지 않도록 구현을 해놓았습니다.
POST https://mysite/api/post/120/comment net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
그런데 잘 되던게 갑자기 이런 에러가 뜨면서 댓글이 정상적으로 실행이 되지를 않습니다... 웃긴건 await Promise.all 이 부분으 실행되지 않는 조건(태그를 하지 않는 경우)에는 에러가 뜨지 않는다는 것 인데... 저 부분이 어떤 문제가 있는건지도 모르겠습니다...
일단 제 생각에는 ssl 인증서 재발급 후에 이러는 것 같습니다...
const result = await Promise.all(userTags.map(user => {
if(myFollowings.indexOf(user.slice(1)) !== -1){
const userInfo = myInfo.Followings.filter(item => item.nickname === user.slice(1));
setUserNotice('commentTag', userInfo[0].id, req.user.id, {post: post.id, comment: newComment.id})(req, res, next);
}
}))
위의 코드는 댓글에 사용자를 태그했을 때 실행되는 코드인데 이게 서버에 무리가 가는 걸까요?...
keepAliveTimeout, headersTimeout, timeout 세가지 모두 추가해도 그대로 이구요
도무지 감이 잡히질 않습니다...
답변 1
0
Promise.all(userTags.map을 하시는 이유를 잘 모르겠습니다.
map 함수를 쓰려면 return을 하셔야하는데 return이 없습니다. 그리고 map 함수 안에서 req, res, next를 쓰시는 것도 위험합니다.