普通的express中间件函数的参数包含3个参数
(req, res, next)
错误处理的中间件函数需要额外一个参数error
:
(error, req, res, next)
举例来说,使用中间的正确姿势是:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser);
app.use(function(req,res,next) {
console.log("In second route");
next(); // go to next route.
});
app.listen(3000);
现在,添加一个错误处理的中间件:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser);
app.use(function(req,res,next) {
console.log("In second route");
next(); // go to next route.
});
// Error handling middle-ware
app.use(function(err,req,res,next) {
console.log("Error happens",err.stack);
});
app.listen(3000);