我正在为我的后端代码库转换Typescript,但是在收听http服务器错误事件时,我遇到了一个关于[ts]属性的问题syscall在错误时不存在.我认为Error类型在这里是错误的,但显然Node.js不提供此回调函数的默认错误类型.任何人都可以帮我正确的错误类型?
const http = require('http'); const server = http.createServer((req,res) => { res.writeHead(200,{'Content-Type': 'text/plain'}); res.write('Hello World!'); res.end(); }) server.listen(3000); server.on('error',onError); function onError(error: Error) { // [ts] property syscall does not exist on error if (error.syscall !== 'listen') { throw error; } }
解决方法
尝试将错误变量的类型从Error更改为NodeJS.ErrnoException.此类型是扩展基本Error接口并添加syscall属性的接口.
资料来源:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/index.d.ts#L401
export interface ErrnoException extends Error { errno?: number; code?: string; path?: string; syscall?: string; stack?: string; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。