2017-08-05 3 views
-1
var http = require('http'); 
var url = require('url'); 
var server = http.createServer(function(request, response) { 
    http.get('http://nodejs.org/dist/index.json', (res) => { 
     response.write("Inside http"); 
     response.end(); 
    }).on('error', function(e) { 
     console.log(e); 
    }); 
}); 
server.listen(3000); 

Auf obige Code ausgeführt wird, geht weder Kontrolle innerhalb http.get noch wirft jeder error.What ich hier fehlt den Fehler zu fangen?Fehlerbehandlung für http.get Anfrage in Knoten JS

Hinweis: Server ist bei 3000 erstellt

+0

Wenn um Hilfe zu bitten, bitte brechen Sie den Code in Angemessene Zeilen und Format und Einrücken Sie Ihren Code vernünftig (das ist eine gute Idee, wenn * nicht * auch um Hilfe bitten). (Alon Eitan und ich haben es bei dieser Gelegenheit für Sie repariert.) –

+0

Ich habe versucht, Ihren Code zu formatieren, aber ich werde keine Zeilenumbrüche hinzufügen, bitte [bearbeiten] Sie Ihren Beitrag und formatieren Sie den Code richtig, um es lesbarer zu machen –

+0

Oh, TJ nur tat es für dich :) –

Antwort

0

Anwendungsebene Fehler-Handler in Sie app hinzufügen. Wenn etwas schief geht, wird es die Fehler fängt

process.on('uncaughtException', function (err) { 
    // This should not happen 
    logger.error("Pheew ....! Something unexpected happened. This should be handled more gracefully. I am sorry. The culprit is: ", err); 
}); 
0

Es scheint http.get sollte in folgenden Weise gestellt werden, damit es richtig funktioniert:

var http = require('http'); 
console.log('Before server'); 
var server = http.createServer(function(request, response) { 
    console.log('Request received'); 
}); 
server.listen(3000, function() { 
    http.get('http://nodejs.org/dist/index.json', (res) => { 
    console.log('Inside http'); 
    }) 
    .on('error', (e) => { 
    console.error(`Got error: ${e.message}`); 
    }); 
});