这个异步函数从哪里获取请求属性?

时间:2018-10-10 17:22:12

标签: javascript promise async-await

async function process(req, res) {
    try {
        const fileId = req.body.fileId;
        const batchIds = req.body.batchIds;
        const user = req.body.user;

        if (!fileId || !batchIds || !user) {
            return res.status(400).send({
                ok: false,
                message: `Batch Process Failed`
            });
        }

        const results = await processHelper.process(fileId, batchIds, user.mail);

        res.status(200).send({
            ok: true,
            results: results
        });
      } catch (error) {
          return res.status(400).send({
                ok: false,
                message: error.message
          });
      }
}

在此异步/等待功能中,它接收异步请求以处理Express路由中的某些数据,如下所示:

const appRoutes = (app) => {
    app.post('/upload', uploadConfig.any(), document.upload);
    app.post('/process', document.process);
    app.get('/getFiles', document.getFiles);
    app.get('/getBatches/:fileId', document.getBatches);
};

我困惑的是它访问的请求属性,例如req.body.fileIdreq.body.batchIdsreq.body.user。我是Java语言的初学者程序员,我不知道它在代码中还有什么地方可以发送带有对象属性的请求参数。 appRoutes箭头功能的实际调用是在app.js中完成的:

routes.appRoutes(app);

1 个答案:

答案 0 :(得分:0)

此道具由快递定义。它创建请求和响应对象,然后准备一个中间件队列(包括url处理程序),并将这些对象作为参数逐个调用。这非常简单明了。 :)