在node.js中,如何将类似ETIMEDOUT的err.code转换为更可读的字符串?

在node.js中,如何将类似ETIMEDOUT的err.code转换为更可读的字符串?,node.js,Node.js,在Node.js中,是否有strerror方法或模块可用于将代码(如ETIMEDOUT、EACCESS等)转换为更易于阅读的字符串?连接超时、权限被拒绝等 如果它有帮助或相关,在一种情况下,我使用的方法与以下类似: request.get(myurl, function(err, response, body) { if (err) return cb(err); ... 我的代码的非linuxy用户并不特别喜欢{code:ETIMEDOUT}或其他我最终为他们

在Node.js中,是否有strerror方法或模块可用于将代码(如ETIMEDOUT、EACCESS等)转换为更易于阅读的字符串?连接超时、权限被拒绝等

如果它有帮助或相关,在一种情况下,我使用的方法与以下类似:

    request.get(myurl, function(err, response, body) {
      if (err) return cb(err);
      ...
我的代码的非linuxy用户并不特别喜欢{code:ETIMEDOUT}或其他我最终为他们打印出来的神秘错误代码


在转储/usr/include/asm*/errno*之后,我将要编写一些东西来将这些代码转换为字符串,但我更倾向于相信我遗漏了一些东西,而不是其他人已经发现的东西。谢谢

前几天刚刚处理过这件事!我通过assert.iferror处理它,超时

如果您希望对象的属性与代码常量匹配并映射到更神秘的整数,则可以使用常量模块

var c = require('constants');
console.log(c.ETIMEDOUT); //60

好奇的是,err对象除了代码之外还有其他东西吗?我猜不是,但我想我会问的。问得好,我翻了翻,似乎有所不同。对于child_process.exec,还有很多,例如堆栈、消息,但是对于请求,不只是代码。这很有趣。而且它也是特定于平台的:-。它可能不仅超时,还可能被拒绝连接,可能还有其他原因。