coleta de lixo com node.js
Eu estava curioso sobre como o padrão node.js de funções aninhadas funciona com o coletor de lixo da v8. aqui está um exemplo simples
readfile("blah", function(str) {
var val = getvaluefromstr(str);
function restofprogram(val2) { ... } (val)
})
se restofprogram é de longa duração, isso não significa que o str nunca será coletado como lixo? Meu entendimento é que, com o nó, você acaba tendo muitas funções aninhadas. Isso coleta o lixo se o restante do programa foi declarado fora, para que o str não pudesse estar no escopo? Essa é uma prática recomendada?
EDITA Eu não pretendia complicar o problema. Isso foi apenas descuido, então eu o modifiquei.