Необработанный отказ от обещания: невозможно установить заголовки после их отправки клиенту - PullRequest
0 голосов
/ 29 мая 2018

Я не знаю, почему эти ошибки продолжали появляться.Я искал все возможные решения в интернете, но я не нашел ни одного.Вот моя функция узла для вызова API.

exports.GetEmployeeConfirmationList = function (req, res) {
    var request = dbConn.request();
    request.execute(storedProcedures.GetEmployeeConfirmationList).then(function (response) {
        res.status(200).send({
            success: true,
            data: response.recordset
        });
    }).catch(function (err) {
        res.status(200).send({
            success: false,
            message: err.message
        });
    });
};

Как решить эту проблему?Заранее спасибо.

1 Ответ

0 голосов
/ 29 мая 2018

Измените ваш код, чтобы использовать функцию стрелки, так как res объект теряет свою область видимости.Когда вызывается GetEmployeeConfirmationList callback, он не знает об res объекте, следовательно, undefined для него.Таким образом, при выполнении res.status он генерирует исключение и попадает в блок catch, где он снова выполняет res.status, и снова ломается, что приводит к отклонению необработанного обещания.Вы можете захватить объект err и log в блоке finally, чтобы проверить, так ли это.

exports.GetEmployeeConfirmationList = function (req, res) {
    var request = dbConn.request();
    request.execute(storedProcedures.GetEmployeeConfirmationList).then((response) => {
        res.status(200).send({
            success: true,
            data: response.recordset
        });
    }).catch((err) => {
        res.status(200).send({
            success: false,
            message: err.message
        });
    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...