У меня есть общий вопрос о том, как вы обрабатываете сервисы и маршруты в node.js. Вы бы обработали ответ непосредственно в сервисе или оставили бы его на маршруте? Вот что я имею в виду в коде
Как это
Маршрут
router.get('/', (req, res, next) ==> {
someService.someMethod(req, res);
});
Услуги
const someMethod = (req, res) => {
try {
var something = await someOtherMethod(req.body.someParameter);
return res.status(200).send(something.data);
} catch (err) {
return res.status(500).send({msg: err.message});
}
}
Или это
Маршрутизатор
router.get('/', (req, res, next) ==> {
try {
var something = await someService.someMethod(req.body.someParameter);
res.status(200).send(something.data);
} catch (err) {
res.status(500).send({msg: err.message})
}
});
Услуги
const SomeMethod = (Input) => {
return someOtherMethod(Input);
}
Первый способ сделал бы маршрутизаторы намного проще и чище, особенно если использовать службу по нескольким маршрутам, но с другой стороны, мне всегда нужно предоставлять res и req, и у меня возникнут проблемы, если я захочу использовать службу внутренне. Я склоняюсь ко второму способу.
Как вы разрабатываете свои услуги?