在 Express.js 中使用 next() 函数
Express.js是一个强大的工具,用于构建Web服务器以在后端访问API。它有几个使其流行的优点,但它也有一些缺点,例如,需要定义不同的路由或中间件来处理来自客户端的不同传入请求。
在本文中,我们将看到如何next()在Express.js的中间件中使用该功能。Express.js中有很多中间件。我们将使用中间件来定义客户端发出的特定请求的处理程序。app.use()
语法
app.use(path, (req, res, next) )
参数
path-这是将调用中间件的路径。
callback-这是在发生任何错误或调用下一个中间件函数时将调用的回调函数。
示例1
创建一个名为“next.js”的文件并复制以下代码片段。创建文件后,使用命令“nodenext.js”运行此代码。
无next()功能
//next()演示示例
//导入express模块
var express = require('express');
//初始化express和端口号
var app = express();
var PORT = 3000;
//创建中间件
app.use("/", (req, res, next) => {
console.log("Welcome to nhooo");
//这里没有next()函数调用
})
//创建另一个中间件
app.get("/", (req, res, next) => {
console.log("Get Request")
})
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});如果没有该next()函数,您可以看到只调用了第一个函数,而没有调用另一个函数。
输出结果
C:\home\node>> node next.js Server listening on PORT 3000 Welcome to nhooo
示例2
让我们再看一个例子
//next()演示示例
//导入express模块
var express = require('express');
//初始化express和端口号
var app = express();
var PORT = 3000;
//创建中间件
app.use("/", (req, res, next) => {
console.log("Welcome to nhooo");
//在这里调用next()函数
next();
})
//创建另一个中间件
app.get("/", (req, res, next) => {
console.log("Got Request")
})
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});当next()函数被调用时,这两个第一功能和未来功能的调用传递的API端点。
输出结果
C:\home\node>> node next.js Server listening on PORT 3000 Welcome to nhooo Get Request