Тип параметра обработчика ошибок для экспресс-сервера? - PullRequest
0 голосов
/ 27 января 2019

Я перевожу свой экспресс-сервер на Typescript. Ниже приведен минимальный пример.

Моя проблема связана с типом, назначаемым аргументу обработчика ошибок handleServerErrors.

если я определю его как Error, tsc жалуется, что error.code не является частью ошибки. Поэтому я прибег к any, чтобы продолжить. Кажется, что tsc принимает определение ошибки js, а не nodejs. И да, я установил @types/node

import express = require("express");

const handleServerErrors = (error: any) => {
    if(error.code === "EADDRINUSE") {
        console.log("\nServer already running.\n");
    }
    else {
        console.error(error);
        throw error;
    }
};


const app = express();
app
    .listen(4400, () => console.log("Running")
    .once("error", handleServerErrors);

1 Ответ

0 голосов
/ 01 февраля 2019

Измените 3-ю строку на: const handleServerErrors = (error: NodeJS.ErrnoException) => {

Не очевидно, чтобы выяснить.

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