2015-12-28 28 views
5

製作http.request時有2個事件會產生錯誤:​​和response.on('error')request.on('error')和response.on('error')之間有什麼區別

我看不出差別,因爲這兩個錯誤都來自Web服務器。

thisErrorthatError有什麼區別?

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'和'response'都是可寫的流。可寫入的流可以發出錯誤事件:https://nodejs.org/api/stream.html#stream_event_error_1。從這個角度來看,沒有區別。 –

+0

是的,他們都實現了流API,這意味着他們可能會發出錯誤'''。 @FelixKling'''response'''實際上是[IncommingMessage](https://nodejs.org/api/http.html#http_http_incomingmessage),它是'''ReadableStream'''。 –

+0

@EdinM:啊,我只是在看https://nodejs.org/api/http.html#http_class_http_serverresponse。 –

回答

5

在請求期間,您解析名稱,建立連接,發送一堆數據,並且每個任務都可能導致錯誤。

當您通過響應對象接收數據時,作爲示例,另一端可能會意外關閉連接。

這些錯誤是不同的,他們必須屬於正確的結構,在這種情況下,分別請求和響應。

相關問題