如何使用 Express.js 中的 next() 将变量传递给下一个中间件?
以下示例介绍了如何使用 Express.js 中的 next() 将变量传递给下一个中间件。
方法:
我们不能直接将数据传递给下一个中间件,但可以通过请求对象发送数据。
[Middleware 1] [Middleware 2]
request.mydata = someData; ——-> let dataFromMiddleware1 = request.mydata;
Express模块的安装:
您可以访问链接安装 express 模块。您可以使用此命令安装此软件包。
npm install express
之后,您可以创建一个文件夹并添加一个文件,例如 index.js,要运行此文件,您需要运行以下命令。
node index.js
文件名:index.js
Javascript
// Requiring module
const express = require("express");
const app = express();
function middleware1(req, res, next) {
// Set data
req.dataFromMiddleware1 = "Data of Middleware 1";
// Go to next middleware
next();
}
function middleware2(req, res, next) {
console.log("We are in Middleware 2.");
// Get Data of Middleware1
console.log(req.dataFromMiddleware1);
// Go to next middleware
next();
}
// Handling Get Request '/'
app.get("/", middleware1, middleware2, (req, res) => {
return res.send(req.dataFromMiddleware1);
});
// Server Setup
app.listen(5000, () => {
console.log(`Server is up and running on 5000 ...`);
});
运行程序的步骤:
使用以下命令运行index.js文件:
node index.js
输出:
我们将在控制台上看到以下输出:
Server is up and running on 5000 ...
现在打开浏览器并转到http://localhost:5000/,您将在屏幕上看到以下输出:
现在再次检查终端输出,它将如下所示:
Server is up and running on 5000 ...
We are in Middleware 2.
Data of Middleware 1