2013-05-02 24 views
21

Tôi đã viết một mã đơn giản và lưu nó vào tệp try.js.Node.js unhandled 'error' event

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."); 

Khi tôi chạy nó thông qua thiết bị đầu cuối nó đưa ra một lỗi

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 
+0

tôi đã cố gắng để thay đổi cổng nhưng nó vẫn không làm việc – ana

+0

câu hỏi của bạn là gì? Bạn muốn biết cách thêm trình xử lý lỗi cho sự kiện này? Hoặc bạn muốn biết lý do tại sao bạn nhận được một lỗi ở nơi đầu tiên? – hippietrail

Trả lời

32

Đối với tôi, sự cố là một phiên bản khác đang chạy. Tìm kiếm đối tượng nút khác đang chạy và xóa nó. Nó sẽ tiếp tục đúng sau.

+1

Câu trả lời này thực sự đã giúp tôi trong một trường hợp "sự cố" lỗi ". – huggie

+0

Điều này cũng xảy ra với tôi trên Windows, đóng tất cả các lệnh của nút lệnh, mở lại chúng và nó bắt đầu hoạt động trở lại. Đi con số. –

+1

Tôi đã chạy một phiên bản khác. Chắc chắn tôi đã giết nó và lỗi đã biến mất. – user3344977

3

Máy chủ khác đang chạy trên cùng một cổng 8080, vì vậy bạn cần phải giết và bắt đầu phiên bản của bạn.

tìm chạy dụ

$ 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  

giết dụ máy chủ hiện có sử dụng pid

$ kill -9 28207 

bắt đầu dụ

$ node server.js 
0

thay đổi số cổng.Bởi vì cổng của bạn đang chạy. số

cảng như: 8000,8001,3000,3001,8080 ....

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