调用任意API时偶现ERR_INVALID_THIS及ERR_INTERNAL_ASSERTION错误求助
偶发性调用API触发ERR_INVALID_THIS错误(Node.js环境)
问题现象
调用任意API时会偶发触发ERR_INVALID_THIS错误,表现为有时可正常运行,有时直接报错。
具体报错信息
error: {name: 'Error', message: 'TypeError [ERR_INVALID_THIS]: Value of "this…ce at https://github.com/nodejs/node/issues\n', stack: 'Error [ERR_INTERNAL_ASSERTION]: TypeError [ER…og (node:internal/console/constructor:360:61)', code: 'ERR_INTERNAL_ASSERTION'} code: 'ERR_INTERNAL_ASSERTION' message: 'TypeError [ERR_INVALID_THIS]: Value of "this" must be of type EventTarget\n at new NodeError (node:internal/errors:372:5)\n at EventTarget.[nodejs.util.inspect.custom] (node:internal/event_target:666:13)\n at formatValue (node:internal/util/inspect:782:19)\n at formatProperty (node:internal/util/inspect:1819:11)\n at formatRaw (node:internal/util/inspect:1030:9)\n at formatValue (node:internal/util/inspect:817:10)\n at inspect (node:internal/util/inspect:347:10)\n at formatWithOptionsInternal (node:internal/util/inspect:2167:40)\n at formatWithOptions (node:internal/util/inspect:2029:10)\n at console.value (node:internal/console/constructor:324:14)\nThis is caused by either a bug in Node.js or incorrect usage of Node.js internals.\nPlease open an issue with this stack trace at https://github.com/nodejs/node/issues\n' name: 'Error' stack: 'Error [ERR_INTERNAL_ASSERTION]: TypeError [ERR_INVALID_THIS]: Value of "this" must be of type EventTarget\n at new NodeError (node:internal/errors:372:5)\n
问题分析与解决建议
- 代码排查:先检查自身代码是否错误使用了Node.js内部接口,比如操作
EventTarget类或实例时,错误绑定/修改了this指向,导致控制台打印触发断言错误。重点排查回调函数、类方法中的this上下文是否异常。 - 版本升级:尝试将Node.js升级到最新稳定版本,旧版本的内部模块Bug可能在新版本中已被修复,偶发问题大概率会得到解决。
- 提交Bug:如果确认代码无问题且升级版本后仍报错,说明这可能是Node.js内部Bug,需携带完整堆栈信息提交到官方Issue仓库。
内容的提问来源于stack exchange,提问作者Poonam
相关产品推荐
相关产品推荐

