Откуда эта асинхронная функция получает свойства запроса? - PullRequest
0 голосов
/ 10 октября 2018
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
          });
      }
}

В этой функции async / await она получает асинхронный запрос на обработку некоторых данных из маршрутов 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.fileId, req.body.batchIds и req.body.user.Я начинающий программист Javascript, и я не знаю, где еще в коде он может посылать параметр запроса со свойствами объекта.Фактический вызов функции стрелки appRoutes выполняется в app.js:

routes.appRoutes(app);

1 Ответ

0 голосов
/ 10 октября 2018

Этот реквизит определяется экспресс.Он создает объекты запроса и ответа, затем подготавливает очередь промежуточного программного обеспечения (включая обработчики URL) и вызывает их один за другим, передавая эти объекты в качестве аргументов.Это очень просто и прямо.:)

...