我有以下脚本来遍历request.connection
对象的所有属性:
p
- for (var key in req.connection)
| #{key} : #{req.connection[key]}
br
在具有Node.js v4.2.6的Ubuntu服务器上,打印出来很好。在我的Windows PC Node.js v6.9.2上,我收到以下错误:
无法将对象转换为原始值
认为req.connection
属性的其中一个键不是字符串,我试图使用以下代码进行保护:
p
- for (var key in req.connection)
if (typeof(key) === "string")
| string #{key} : #{req.connection[key]}
br
else
| Not string: #{typeof key}
br
但是第四行的v6.9.2仍然存在同样的错误。我很困惑。可能导致错误的原因是什么?
在(前两个)评论的反馈之后,我将代码修改为:
p
- for (var key in req.connection)
if (typeof(key) === "string" && typeof req.connection[key]!="object")
| string #{key} : #{req.connection[key]}
br
else
| Not string: #{typeof req.connection[key]}
br
只有一种object
导致Windows v6.9.2版本出现此问题。这很奇怪,就像我在同一页#{req.connection}
上一样,这就像[对象]一样,即使在Windows版本中也是如此。