目前正在将我的项目转换为使用 Typescript。我之前在 Node 中启动 Express 的工作代码如下所示:
server.listen(port, (error) => {
if (error) throw error;
console.info(`Ready on port ${port}`);
});
有了这个,我现在得到一个 Typescript 错误:
Argument of type '(error: any) => void' is not assignable to parameter of type '() => void'.
我尝试为参数分配一个类型,例如error: Error
or error: any
但这并不能解决问题。我在这里做错了什么?
另外,由于我是 Typescript 的新手,虽然我已经找到了大量用于学习 Typescript 的资源,但我是否应该在哪里了解如何在更特定于 npm 包的场景中处理 Typescript?
没有error
¹.
server.listen(port, () => {
console.info(`Ready on port ${port}`);
});
要监听错误,请使用server.listen(port).on("error", /*...*/)
².
1:文档非常嵌套:
The 快速文档 https://expressjs.com/en/api.html比如说
该方法与 Node 的 http.Server.listen() 相同。
Now 这些文档 https://nodejs.org/api/http.html#http_server_listen比如说htt.Server.listen
equals Net.server.listen
.
And that https://nodejs.org/api/net.html#net_server_listen然后说:
该函数是异步的。当服务器开始监听时,将发出 'listening' 事件。最后一个参数回调将被添加为“listening”事件的侦听器。
Now the “听”活动 https://nodejs.org/api/net.html#net_event_listening似乎没有引发任何错误。
²:这是我在快速问题跟踪器 https://github.com/expressjs/express/issues/2856.
请注意,在大多数情况下,您不想处理错误,如果服务器崩溃,那么最好的选择很可能是重新启动整个过程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)