javascript - 当我从此代码中删除 next() 时,为什么我的代码在第一次请求后无法终止?

标签 javascript node.js express

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

function logger (req,res,next) {
   console.log(new Date(), req.method, req.url)
   next()
  }
   app.use(logger)
   app.get('/',(req,res) => {
   res.json({name:'Some name'});
 }
 )


app.listen(3000,()=>console.log('Server Started'))

当我使用 postman 测试它时,从函数 logger() 中删除 next() 后,请求没有被终止。同样的背后原因是什么?在这个代码上下文中,next() 实际上在做什么?

最佳答案

通过 app.use(logger) 行,您可以在应用程序中使用中间件。这意味着所有请求都会首先经过它。为了继续执行,您必须调用其中的 next() 方法。 Using middleware.

关于javascript - 当我从此代码中删除 next() 时,为什么我的代码在第一次请求后无法终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49023234/

相关文章:

javascript - 在 native javascript中动态插入框架集内的框架作为第一框架?

javascript - 为什么我不能将 SailsJS 模型命名为与 MySQL 表相同的名称?

php - 检查您的页面是否不是通过 ajax 请求的?

javascript - 将消息从对话框(平均堆栈站点)发送到任务 Pane

javascript - 在模态 Controller 中调用事件

node.js - Node.js + Express 的配置,用于处理大量传入请求

node.js - Sequelize 查找 currentUserEditor 不为 null 的所有内容

javascript - 如何在没有 Node.JS 的情况下最小化 Angular 的打包?

node.js - 我可以在没有云提供商的情况下使用无服务器框架吗?

javascript - 使用 Node.js/promises 按类型捕获异常