Node.js的未处理的“错误”事件(Node.js unhandled 'error

2019-09-01 16:44发布

我写了一个简单的代码,并将其保存在文件try.js。

var http = require('http');
var makeRequest = function(message) {
  var options = {
    host: 'localhost', port: 8080, path: '/', method: 'POST'
  }
  var request = http.request(options, function(response){
    response.on('data', function(data){
      console.log(data);
    });
  });

  request.write(message);
  request.end();
}
makeRequest("Here's looking at you, kid.");

当我通过终端上运行它,它给出一个错误

throw er; // Unhandled 'error' event,
Error: connect ECONNREFUSED
at errnoException (net.js:884:11)
at Object.afterConnect [as oncomplete] (net.js:875:19)error' event

Answer 1:

对我来说,问题是另一个实例正在运行。 搜索运行其他节点实例,并杀死它。 它应该正确后恢复。



Answer 2:

这是发生,因为没有什么是监听在localhost:8080。 下面是例子如何处理请求错误如何捕捉在node.js的HTTP客户端请求例外



Answer 3:

另一个服务器相同的端口8080上运行,所以你需要杀死并启动您的实例。

找到运行实例

$ netstat -nlp | grep 8080

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::8881                 :::*                    LISTEN      28207/node    

杀死采用pid现有的服务器实例

$ kill -9 28207

例如启动

$ node server.js 


Answer 4:

更改端口号。 因为你的端口已经正在运行。

端口号,如:8000,8001,3000,3001,8080 ....

 app.listen(3030,()=>{})

(或)杀死你的端口号。 如果您在使用Ubuntu OS遵循这一步骤。

  1. 要使用终端使用此命令查找PID或TCP: 须藤的netstat -ap | grep的:“端口号”
  2. 要使用该命令杀死进程:kill -9“PROCESS_ID或tcp_id”
  3. 来运行你的NodeJS


Answer 5:

另一个服务器相同的端口8080上运行,所以更改端口在此代码或杀死端口8080并重新启动它。



文章来源: Node.js unhandled 'error' event