function fetchXmlDoc(uri) {
var xhr = new XMLHttpRequest();
var async = false;
xhr.open("GET", uri, async);
xhr.send();
return xhr.responseXML;
}
Básicamente, cuando llamo a esta función, será el objeto xhr
obtener recolección de basura, o va a quedarse para siempre, porque la persona que llama está aferrando a xhr.responseXML
? Si es el último, ¿esto lo resolvería?¿Recolectará este código JavaScript basura como yo esperaba?
function fetchXmlDoc2(uri) {
var xhr = new XMLHttpRequest();
var async = false;
xhr.open("GET", uri, async);
xhr.send();
var xml = xhr.responseXML;
return xml;
}
A pesar de todos los años de JS, todo el asunto de administración de memoria se las arregla para confundirme ...
PD Sé que Jax (es decir, Ajax sin el A) generalmente es malo, pero en este caso está trabajando con el sistema de archivos local, por lo que no es tan malo. – Domenic
Eso depende de, por ejemplo, si 'xhr.responseXML' contiene una referencia a' xhr'. – delnan