Node.js 如何避免在Node js中过早返回强大的功能

Node.js 如何避免在Node js中过早返回强大的功能,node.js,formidable,Node.js,Formidable,我使用以下代码在NodeJS中上传和读取文件。除了从方法中提前返回之外,它按预期工作。该方法在激发“fileBegin”和“file”事件之前返回。你能告诉我,我需要做什么来改变它,使它返回后,文件上传和处理 const form = new formidable.IncomingForm(); form.parse(req); form.on('fileBegin', async function (name, file) { ............... }); form.on('fi

我使用以下代码在NodeJS中上传和读取文件。除了从方法中提前返回之外,它按预期工作。该方法在激发“fileBegin”和“file”事件之前返回。你能告诉我,我需要做什么来改变它,使它返回后,文件上传和处理

const form = new formidable.IncomingForm();

form.parse(req);
form.on('fileBegin', async function (name, file) {
...............

});
form.on('file', async function (name, file) {
...............

})
.on("end", function () {
...............
});

}
......................
......................
......................

 return "Success"
}
使用中间件

const fs = require('fs')
const fileType = require('file-type')
const multiparty = require('multiparty')
const uploadMiddleware = (request, response, next) => {
      if (request.method !== 'POST') {
        next()
        return
      }

      const form = new multiparty.Form()
      form.parse(request, async (error, fields, files) => {
        if (error) throw new Error(error);

         //  const file = files.file[0]
          // const buffer = fs.readFileSync(file.path)
          // request.file = your file 

          next()
        } catch (error) {
          return response.status(400).send(error)
        }
      })
    }
app.post('/upload', multipartUpload, yourController)

谢谢你,法迪。我需要使用可伪造的表单创建表单和事件触发。谢谢Fadi。但是我需要使用可格式化的表单来上传和处理文件。重要的部分是在您不在时将
next
功能传递给控制器!