Извлеките свою запись базы данных в ее собственную функцию и дайте ей интерфейс (query) => Promise
. В данный момент вы выполняете запись в базу данных и в ответ в одном месте.
Заставьте новую функцию базы данных вернуть Обещание, которое она разрешит или отклонит в зависимости от результата отправки в базу данных.
Затем в обработчике записи вызовите функцию и ответьте на веб-запрос на основе результата Promise.
Экспорт функции базы данных. Импортируйте его из пользовательского модуля и используйте там.
Сделайте так, чтобы ваши функции выполняли только одну вещь, и предоставьте им интерфейсы, которые это раскрывают. Ваша запись в базе данных принимает запрос к публикации и возвращает утверждение о результате.
Ваш обработчик принимает запрос, вызывает функции, которые делают что-то, и отвечает на основе результатов. Оба обработчика будут иметь такую форму, как только вы переместите эту функцию db.
Это разделение задач между контроллером и службой.