UnhandledPromiseRejectionWarning даже при использовании .catch () (Node.js) - PullRequest
0 голосов
/ 16 апреля 2020

Я использую Node.js и Express для создания REST API. Операции с базой данных находятся в отдельном файле с именем "db. js". Вот суть кода:

...

const db = require('./db');

app.get('/b50api/workitems/me/:pernr', function (req, rs) {
  db.getWorkItems("200805").then((items, output)=>{
    console.log("ITEMS:", items);
    console.log("OUTPUT:", output);
  }).catch(err => { 
      console.log("ERROR:", err);
  })
})
...

Когда я достигаю этой конечной точки, программа завершается с ошибкой ниже.

Я создал тестовый файл. js (ниже), и он запускается просто отлично:

const db = require('./db');
function test() {
    db.getWorkItems("200805").then((items, output)=>{
        console.log("ITEMS:", items);
        console.log("OUTPUT:", output);
    }).catch(err => { 
        console.log("ERROR:", err);
    })
}

test();

Чего мне не хватает ??

Вот информация об ошибке при запуске в моем REST API:

(node:14612) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:14612) UnhandledPromiseRejectionWarning: TypeError: p.callNotify is not a function
    at C:\inetpub\wwwroot\PersonnelApps\b50api\node_modules\msnodesqlv8\lib\procedure.js:332:11
    at C:\inetpub\wwwroot\PersonnelApps\b50api\node_modules\msnodesqlv8\lib\procedure.js:305:13
    at C:\inetpub\wwwroot\PersonnelApps\b50api\node_modules\msnodesqlv8\lib\procedure.js:194:9
    at runNextTicks (internal/process/task_queues.js:62:5)
    at processImmediate (internal/timers.js:429:9)
(node:14612) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:14612) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

1 Ответ

0 голосов
/ 17 апреля 2020

Оказывается, проблема заключалась в том, что он пытался подключиться к базе данных как к некоторой встроенной учетной записи. Мне нужно изменить сайт на приложение и изменить учетную запись, под которой он работает, на ту, которая должна проходить проверку подлинности на сервере SQL (наряду с созданием той же учетной записи, которая может входить в систему в качестве службы).

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