본문으로 바로가기
COMMUNITY모든 이야기

Node.js express 서버에서 async/await 미들웨어 사용 시 요청이 응답 없이 중단되는 현상

빗방울 2026.10.31 12:33 2분 읽기 조회 21 · 추천 2

사용자 인증을 위해 비동기 DB 조회를 수행하는 커스텀 미들웨어를 구현하여 요청을 처리하려 합니다.

코드:

const express = require('express');
const app = express();

const authMiddleware = async (req, res, next) => {
  try {
    const user = await Promise.reject(new Error('DB Connection Timeout'));
    next();
  } catch (err) {
    next(err);
  }
};

app.get('/test', authMiddleware, (req, res) => {
  res.send('Success');
});

app.use((err, req, res, next) => {
  res.status(500).send(err.message);
});

app.listen(3000);

오류: 서버가 응답을 보내지 않고 요청 상태가 Pending으로 유지되다가 클라이언트에서 Timeout 발생.

시도: `next()` 호출 위치 변경 및 `try-catch` 블록 제거 후 테스트.

질문: Express 4.x 버전에서 async 미들웨어의 에러가 `next(err)`로 전달되지 않고 요청이 중단되는 원인이 무엇입니까?

모든 이야기1488

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1488개의 이야기
댓글