CNode

nodejs经常遇到这个错误Function: inspect,百度和谷歌查询这种很少,难道就我遇到么

问答
Zzldai发布于6 年前最后回复6 年前4 回复6483 浏览0 收藏

服务端如果对应的方法找不到或者什么模块没找到或莫名其妙的时候, 经常会遇到这个这个提示,但是没有具体的错误信息,这个时候对问题的排查就很困扰,网上看起来也比较少这种提问,我就有点纳闷,怎么修改这种提示的错误,我希望能列出详细的错误,不知道哪位能指导一下,先谢谢。 [ERROR] [mongodb] [1] - selectOne error: { inspect: [Function: inspect] } 比如就给了这一行提示。这个应该是数据库连接不上导致的,重启了服务又好了,就是这种提示非常的不友好。

查看回复

回复 (4)

Z
zldai#1·6 年前

20200623205426.jpg

W
waitingsong#2·6 年前

mongodb 服务端的问题?

H
hyj1991#3·6 年前

我感觉是你用的库比较老,以前的 Node.js 版本里调用 console.log 时会做一个默认的序列化,比如:

console.log({inspect:function(){return 1}})

在 8.x 下会输出 1,这是给个内置的序列化钩子属性 inspect 来避免输出一些封装细节。

但是新版本里用 Symbol 移除了原来默认判断对象 inspect 属性的逻辑,所以你在 12.x 下执行:

console.log({inspect:function(){return 1}})

输出的就是:{ inspect: [Function: inspect] }

Z
zldai#4·6 年前
引用 hyj1991我感觉是你用的库比较老,以前的 Node.js 版本里调用 console.log 时会做一个默认的序列化,比如: 在 8.x 下会输出 1,这是给个内置的序列化钩子属性 inspect 来避...

@hyj1991 有启发,使用是从v8开始的,现在服务器node版本到12了,可能就是你说的这个现象。非常感谢,我研究下!

参与回复
登录后即可参与回复。登录