我有以下代码来检查Express的启动是否出错:
express()
.listen(port, (err: Error) => {
if (err) {
console.error(err);
return;
}
console.log(`Express started`);
});
但是,最近,我在Typescript编译器中遇到此错误:
TS2345:类型'(err:Error)=> void'的参数不可分配给 '(()=> void)类型的参数|未定义”。
似乎listen()
的回调函数没有接受错误参数。在这种情况下,启动Express时应该如何检查和处理错误?
答案 0 :(得分:1)
Server对象是Node.js EventEmitter。与所有EventEmitter一样,大多数错误都传递给'error'事件。因此,您可以像这样捕获:
express().listen(port, () => {
console.log('Listening on port: ', port);
}).on('error', (e) => {
console.log('Error happened: ', e.message)
});
我希望这会有用。