2014-01-15 25 views
1

我有一個快速應用程序,我使用收到的每個請求的域名。我已經添加了一箇中間件來確保任何進一步的中間件都在域內「執行」。是否需要處理node.js域名?何時完成?

app.use(function(req, res, next) { 
    var d = domain.create(); 

    d.req = req; 

    d.add(req); 
    d.add(res); 

    d.run(next); 
}); 

此外,一些代碼,同時請求被處理被執行使用process.domain.req去初始請求一個參考,它的頭,餅乾等...我這樣做的原因:」我無法通過req直接到此代碼。這個奇怪的代碼是一種跨環境的代碼(對於瀏覽器和節點),它不知道它在哪裏執行。在底層,Node和瀏覽器實現了不同的基礎層,特別是網絡代碼。對於瀏覽器來說,它是一個XMLHttpRequest,對於NodeJS來說,它是一個基於request庫的自定義包裝。

我很擔心內存泄漏。該文件引用了存儲在域中的req。他們可以保留這些東西,讓他們不被垃圾收集?

另外,我是否需要定期處理域名,還是需要在某些邊緣/錯誤情況下處理它們?

回答

相關問題