2
var http = require('http');
function createRequest() {
var options = {};
var request = http.request(options, function(response) {});
request.end();
}
createRequest();
上面是一個小的Node.js片段。 http.request
的返回值是http.ClientRequest
的一個實例,存儲在函數createRequest
內的本地變量request
中。什麼時候垃圾收集器釋放'請求'對象?
該片段是一個更大的應用程序的一部分,它可以對createRequest
進行多次調用。我很困惑,在Node.js中收集的http.request
調用垃圾回收這些實例的時機。
「response has'response.req' reference to'request'」,你能指點我的鏈接嗎? –
我不認爲這是記錄,這裏是代碼:https://github.com/joyent/node/blob/v0.10.22/lib/http.js#L1684。無論如何,垃圾收集器不關心它是否被記錄) – vkurchatkin
我認爲對象的請求和響應圖將被垃圾回收器從主程序檢測爲不可訪問,因此有資格進行垃圾回收。 –