2015-12-28 12 views
5

khi thực hiện http.request có 2 sự kiện gây lỗi: request.on('error')response.on('error').sự khác biệt giữa request.on ('error') và response.on ('error')

Tôi không thể thấy sự khác biệt vì cả hai lỗi đến từ máy chủ web.

sự khác nhau giữa thisErrorthatError là gì?

var request = http.request({hostname:"example.com"}, function(response){ 
    response.on('error', function(thisError){ 
    //what's the difference between thisError <<<<<< 
    }); 
}); 
request.on('error, function(thatError){ 
    //and thatError  <<<<< 
}); 
+0

'request' và' response' là cả hai luồng có thể ghi. Các luồng có thể ghi có thể phát ra các sự kiện lỗi: https://nodejs.org/api/stream.html#stream_event_error_1. Từ quan điểm đó, không có sự khác biệt. –

+0

Có, cả hai đều triển khai luồng api, có nghĩa là chúng có thể phát ra '' 'lỗi'''. @FelixKling '' 'response''' thực sự là [IncommingMessage] (https://nodejs.org/api/http.html#http_http_incomingmessage) là' '' ReadableStream'''. –

+0

@EdinM: Ah, tôi chỉ xem https://nodejs.org/api/http.html#http_class_http_serverresponse. –

Trả lời

5

Trong khi yêu cầu bạn giải quyết tên, thiết lập kết nối, gửi một loạt dữ liệu và mỗi tác vụ có thể dẫn đến lỗi.

Khi bạn nhận dữ liệu qua đối tượng phản hồi, ví dụ đầu kia có thể đóng kết nối bất ngờ.

Các lỗi này khác nhau và chúng phải thuộc về cấu trúc đúng, trong trường hợp này, yêu cầu và phản hồi tương ứng.

Các vấn đề liên quan