请求模拟
什么是中间件?
- 中间件的本质是传递给express的一个回调函数;
- 这个回调函数接受三个参数:
- 请求对象(request对象);
- 响应对象(response对象);
- next函数(在express中定义的用于执行下一个中间件的函数);
中间件中可以执行哪些任务呢?
- next 它通过 next() 使用
- 在express中定义的用于执行下一个中间件的函数
- 执行任何代码;
- 更改请求(request)和响应(response)对象;
- 结束请求-响应周期(返回数据);
- 调用栈中的下一个中间件;
如果当前中间件功能没有结束请求-响应周期,则必须调用next()将控制权传递给下一个中间件功能,否则,请求将被挂起。
前端代码
const express = require('express')
const app = express()
// 应用中间件
app.use(express.json())
app.use(express.urlencoded())
app.post('/login', (req, res, next) => {
console.log(req.body)
res.end("登陆成功")
})
// 一个中间件
app.get('/home', (req, res, next) => {
res.end("get home data")
next()
}, (req, res, next) => {
console.log(`/home normal middleware`)
})
app.listen(9000, () => {
console.log(`服务器启动成功`)
})