迭代request.connection时无法将对象转换为原始值

时间:2017-05-06 14:59:26

标签: node.js express pug

我有以下脚本来遍历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版本中也是如此。

0 个答案:

没有答案