尽管有下一次调用,请求仍然挂在快速中间件中

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;