javascript - Hur kontrollerar man fel i express listen-callback?
Jag har följande kod för att kontrollera om det uppstod ett fel vid start av Express:
express()
.listen(port, (err: Error) => {
if (err) {
console.error(err);
return;
}
console.log(`Express started`);
});
Men nyligen får jag detta fel i Typescript-kompilatorn:
TS2345: Argument av typen '(err: Error) => void' kan inte tilldelas parametern av typen '(() => void) | undefined'.
Det verkar som om återanropsfunktionen för listen() inte tar emot någon felparameter. Om detta är fallet, hur bör jag kontrollera och hantera fel när jag startar Express?
Svar #1
Serverobjektet är en Node.js EventEmitter. Som med alla EventEmitters passeras de flesta fel till 'error'-händelsen. Så du kan fånga dem på detta sätt:
express().listen(port, () => {
console.log('Listening on port: ', port);
}).on('error', (e) => {
console.log('Error happened: ', e.message)
});
Jag hoppas att detta kommer att vara användbart.
