2016-04-29 59 views
0

我正在研究節點的request模塊,並且文檔說回調接受三個參數 - errorresponsehttp.IncomingMessage)和bodyNodeJS請求模塊 - http.Inocoming消息的正文?

在提出請求時,我發現該物體也可以作爲屬性在response對象上。
這是真的嗎?我可以忽略回調中的最後一個參數並使用response.body代替嗎?

+0

是的,它爲什麼不試試看看會發生什麼? – JordanHendrix

+0

我只是很好奇爲什麼文檔不提供這些信息。他們可以保證我收到每種類型的請求的機構嗎?或者如果只是巧合? – Kai

+0

夠公平的,它真的只是一個方便的方法,所以我們不必做response.body,request會返回一個body,用於返回一個body的每個請求...... body也可能是一個錯誤,響應是隻是一個從api返回的對象,請求只是簡單的做到這一點 – JordanHendrix

回答

2

response.body並不總是與body相同。如果對響應請求任何處理(例如解壓縮),則參數body將是該處理的結果,但是response.body可能不會反映該處理。您應該使用response參數。以下是文檔中的一個示例:

爲了向後兼容, 默認不支持響應壓縮。要接受gzip壓縮的響應,請將gzip選項設置爲 true。請注意,通過請求傳遞的主體數據自動解壓縮 ,而響應對象未經修改,並且如果服務器發送了壓縮響應,將包含 壓縮數據。