@smlwmy

Как выполнить два запроса подряд?

У меня есть функции проверки. Я их вынес в отдельные функции и вызываю в обработчиках маршрутов.
// CHECK VALID URL
const checkValidUrl = async (req, res) => {}

// CHECK RIGHTS
const checkRights = async (req, res) => { }

Вызов:
// CHECK URL
router.post('/url', async(req, res) => checkValidUrl(req, res));

// CHECK RIGHTS 
router.post('/rights', async (req, res) => checkRights(req, res));


Когда я пытаюсь выполнить две функции подряд, то получаю исключение
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client


Я так полагаю, что при выполнении первой функции, объект req, res уже 'занят', и когда вторая пытается взять их же, то получает отказ. Вопрос. Как сделать два запроса в ряд. Может объединить в одну функцию, где будут "общие" req,res, но как? Пытался в каждый функции завершать через res.end(). Такая же ошибка. Может можно как то обнулить эти объекты после выполнения? Подскажите что делать.
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@de1m
На сколько я знаю, на один post приходящий от клиента возможет только один ответ. Надо в один ответ оба вставлять.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Lebed71
Node.js Developer
По всей видимости у вас где-то ошибка в коде функций-обработчиков, покажите, что там.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы