Вызов API внутри другого API возвращает ошибку [ERR_HTTP_HEADERS_SENT]: - PullRequest
0 голосов
/ 25 сентября 2019

Я настраиваю некоторый API, мне нужно вызвать из одного API другой API, который уже настроен.Это тот, который мне нужно вызвать:

exports.createNews = function (req, res, next) {
var notification = new Notification(req.body);

notification.save(function (err, notification) {
    if (err)
        return res.send(new Error(500, "There was a problem creating the notifications", err));

    res.send({
        success: true,
        data: {
            notification: notification
        }
    });
});

};

И это API, который вызывает другой:

feedback.save(function (err, feedback) {
                if (err)
                    return res.status(400).send(new Error(400, "Validation failed. Invalid attributes", err));

                var notification = new Notification()

                createNews(req,res,function () {
                    return res.status(200).send({
                        success: true,
                        data: {
                            feedback: feedback
                        }
                    });
                })
            })

Я получаю эту ошибку: Ошибка [ERR_HTTP_HEADERS_SENT]: Невозможно установить заголовки после того, как они отправлены клиенту

Проблема заключается в том, что мне нужно вызвать только первый вызов.

Спасибо за помощь.

1 Ответ

0 голосов
/ 25 сентября 2019

Вы вызываете res.send дважды, один раз в createNews и один раз в feedback.save.Ошибка Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client обычно означает, что вы уже отправили ответ один раз, и по понятным причинам вы не можете отправить ответ снова.Так что вам нужно отправить ответ только от одной функции: либо createNews, либо feedback.save.
Надеюсь, что она ответит на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...