Смысл этого раздела 1.2 состоит в том, чтобы создать вашу бизнес-логи c как отдельный тестируемый компонент, который передает только данные, а не req
и res
. Это позволяет проводить его независимое и раздельное тестирование без окружающей среды Express.
Ваши вызовы:
stuffController.getStuffDone(req.body.stuff);
и
stuffController.getOtherStuffDone(req.body.otherStuff);
Действительно делают это правильное разделение между сетью и бизнес-логами c, потому что вы не передаете req или res своему контроллеру. Похоже, это соответствует пункту шага обучения 1.2.
Единственное, чего я здесь не вижу, - это то, что ни один из этих вызовов функций не выводит никаких результатов. Они ничего не возвращают, и, поскольку вы не передаете им req
или res
, они не могут изменять объект req
(как это делают некоторые промежуточные программы) и не могут отправлять ответ или ошибку. сами. Таким образом, похоже, что им нужен механизм для обратной передачи некоторого типа результата, либо прямое возвращаемое значение (если функции синхронны), либо возврат обещания (если функции асинхронные). Тогда вызывающий код может получить свой результат и что-то с ним сделать.