尽管有下一次调用,请求仍然挂在快速中间件中
Request left hanging in express middleware despite next call
我已经编写了简单的 express 中间件来解析文件并将它们添加到请求中。看起来像这样。
从 'formidable';
导入强大的
export const parseForm = (req, res, next) => {
const form = new formidable.IncomingForm();
form.parse(req, (err, fields, files) => {
if(err) {
next(err);
}
req.files = files; // eslint-disable-line
next();
});
};
我正在像这样(连同其他中间件)将它添加到应用程序中。
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors());
app.use(parseForm);
// static paths
const publicPath = express.static(path.join(__dirname, '../client/public'));
app.use(publicPath);
// routes
app.use('/api', adminRoutes);
app.use('/api', ingredientRoutes);
app.use('/api', productRoutes);
我的问题是,尽管在中间件中调用了 next 函数,但我的请求仍然悬而未决。接下来应该传递一些参数还是我以错误的方式传递我的中间件?
感谢您的帮助。
原来你不能同时使用 body-parser 和 formidable。我从body-parser辞职,加入我的中间件
req.body = fields;
我已经编写了简单的 express 中间件来解析文件并将它们添加到请求中。看起来像这样。 从 'formidable';
导入强大的export const parseForm = (req, res, next) => {
const form = new formidable.IncomingForm();
form.parse(req, (err, fields, files) => {
if(err) {
next(err);
}
req.files = files; // eslint-disable-line
next();
});
};
我正在像这样(连同其他中间件)将它添加到应用程序中。
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors());
app.use(parseForm);
// static paths
const publicPath = express.static(path.join(__dirname, '../client/public'));
app.use(publicPath);
// routes
app.use('/api', adminRoutes);
app.use('/api', ingredientRoutes);
app.use('/api', productRoutes);
我的问题是,尽管在中间件中调用了 next 函数,但我的请求仍然悬而未决。接下来应该传递一些参数还是我以错误的方式传递我的中间件?
感谢您的帮助。
原来你不能同时使用 body-parser 和 formidable。我从body-parser辞职,加入我的中间件
req.body = fields;