Express.js中的next()函数有什么用途
Express.js是一个强大的node.js框架。该框架的主要优势之一是定义不同的路由或中间件来处理客户端的不同传入请求。在本文中,我们将讨论在express.js的每个中间件中使用next()函数的用途。
Express.js中有许多中间件函数,比如express.js app.use()函数等。app.use()中间件主要用于定义客户端发出的特定请求的处理程序。
语法:
app.use(path,(req,res,next))
参数: 它接受以上两个参数,并且以下面的方式进行描述:
- path: 它是调用中间件函数的路径。它可以是表示路径或路径模式的字符串,也可以是用于匹配路径的正则表达式模式。
- callback: 它是包含请求对象、响应对象和 next() 函数的回调函数,用于在当前中间件的响应未终止时调用下一个中间件函数。在第二个参数中,我们还可以传递中间件的函数名。
安装模块: 使用以下命令安装express模块。
npm install express
项目结构: 就像这样。
示例1: 没有next()函数的服务器
文件名:index.js
// Importing the express module
const express = require("express");
const app = express()
// Creating First Middleware
app.use("/", (req, res, next) => {
console.log("Hello");
// There is no next() function calls here
})
// Creating second middleware
app.get("/", (req, res, next) => {
console.log("Get Request")
})
// Execution the server
app.listen(3000, () => {
console.log("Server is Running")
})
使用以下命令运行 index.js 文件:
node index.js
输出: 如果没有 next() 函数,中间件就不会调用下一个中间件,即使它们请求同一个路径。
Server is Running
Hello
示例2: 具有next()函数的服务器
Filename: index.js
// Importing the express module
const express = require("express");
const app = express()
// Creating First Middleware
app.use("/", (req, res, next) => {
console.log("Hello");
// The next() function called
next();
})
// Creating second middleware
app.get("/", (req, res, next) => {
console.log("Get Request")
})
// Execution the server
app.listen(3000, () => {
console.log("Server is Running")
})
使用下面的命令运行 index.js 文件:
node index.js
输出:
Server is Running
Hello
Get Request