강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của snaag
snaag

câu hỏi đã được viết

NestJS phụ trợ vững chắc, từ cơ bản đến nâng cao

Hiểu phần mềm trung gian nhanh

next()가 없는 (불필요한) 경우에도, middleware 함수라고 볼 수 있나요??

Viết

·

396

3

안녕하세요~ 좋은 강의 넘 잘 듣고 있습니다~ 감사합니다 :)
이 에러 핸들링을 하는 함수를 middleware라고 언급해주셨는데, 저는 조금 헷갈려서 질문 드립니다!
 
app.use((req: express.Request, res: express.Response, next: express.NextFunction) => {
  console.log('this is error middleware');
  res.send({ error: '404 not found error' });
});
 
 
미들웨어는 하려는 일의 중간에서, 개발자가 원하는 무언가를 할 수 있도록 하는 것을 말하는거니까 express 에서는 next() 가 있는 경우를 middleware 로 본다 는 것으로 이해했습니다.
 
그런데 위 코드는 다음으로 넘기는 것 없이 바로 404를 반환해서, next가 꼭 필요하지 않은 것 같은데... 이 경우에도 이 함수를 middleware 함수라고 볼 수 있나요~?
expressmiddlewaremongodbnodejsNestJSssr

Câu trả lời 2

1

amamov님의 프로필 이미지
amamov
Người chia sẻ kiến thức

안녕하세요!

네 정확히 이해하셨습니다 :)

미들웨어는 express 소프트웨어 코드 관점에서는 next( )가 존재하는 라우터라고 정의할 수 있고 논리적 관점에서 중앙에서 공통된 기능을 묶어 수행하거나 특수 기능을 수행하는 장치 및 함수라고 정의할 수 있습니다.

엄밀하게 말하면 말씀해주신 것처럼 해당 라우터는 미들웨어가 아니라 끝자락에 있는 에러처리 라우터라고 할 수 있습니다!

제가 미들웨어라 언급한 것은 일반적인 라우터가 아님을 그룹화하여 강조 설명하기 위해 언급했습니다.

현재 이해하신 것이 맞습니다!

좋은 질문 감사합니다. :)

0

niobbam님의 프로필 이미지
niobbam
Người đặt câu hỏi

아~ 이해했습니다~ 빠르고 자세한 답변 넘 감사합니다~ :)

Hình ảnh hồ sơ của snaag
snaag

câu hỏi đã được viết

Đặt câu hỏi