web-dev-qa-db-fra.com

Evénement 'erreur' non géré par Node.js

J'ai écrit un code simple et l'enregistrer dans le fichier 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.");

Quand je le passe par le terminal, il donne une erreur

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
27
ana

Pour moi, le problème était qu'un autre exemple fonctionnait. Recherchez une autre instance de noeud en cours d'exécution et supprimez-la. Il devrait reprendre correctement après. 

42
MVCaraiman

Ceci est dû au fait que rien n’écoute sur localhost: 8080. Voici des exemples sur la manière de gérer les erreurs de requête Comment intercepter les exceptions de requête de client HTTP dans node.js

10
Damian Krawczyk

Un autre serveur fonctionne sur le même port 8080, vous devez donc arrêter et démarrer votre instance.

recherche d'une instance en cours d'exécution  

$ 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    

tuer l'instance de serveur existante en utilisant pid  

$ kill -9 28207

instance de départ  

$ node server.js 
6
KARTHIKEYAN.A

changer le numéro de port. Parce que votre port est déjà en cours d'exécution.

numéro de port comme: 8000,8001,3000,3001,8080 ....

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

(ou) Tuez votre numéro de port. Si vous utilisez le système d'exploitation Ubuntu, suivez cette procédure.

  1. Pour rechercher un PID ou TCP à l'aide d'un terminal à l'aide de la commande suivante: Sudo netstat -ap | grep: "numéro de port"
  2. Pour tuer le processus à l’aide de cette commande: kill -9 "id_processus ou id_tcp"
  3. Pour exécuter vos NodeJs
0
sm chinna

Un autre serveur fonctionne sur le même port 8080, changez donc le port dans ce code ou supprimez le port 8080 et redémarrez-le.

0
Ashita Gaur