G
gabriel.landais
Hi,
I'm currently building a parser class in JS and I have a question
about variables. I retrieve XML data and then process it. After that, I
process a result array (mydataarray). It looks like this :
function MyClass()
{
var mydataarray = [];
this.processXMLnode = processXMLnode;
this.processxmlDoc = processxmlDoc;
this.processrequest = processrequest;
function processXMLnode(marker) {
// ADD SOMETHING TO mydataarray
}
function processxmlDoc(xmlDoc) {
var markers =
xmlDoc.documentElement.getElementsByTagName("data");
mydataarray = [];
for (var i = 0; i < markers.length; i++) {
processXMLnode(markers);
}
// PROCESS mydataarray
}
function processrequest(url, async) {
var request = XMLHttpRequest.create();
request.open("GET", url, async);
if (async) {
request.onreadystatechange = function() {
if (request.readyState == 4) {
processxmlDoc(request.responseXML);
}
}
request.send(null);
}
else
{
request.send(null);
processxmlDoc(request.responseXML);
}
}
}
I'm not a JS expert, does processxmlDoc will be executed from the same
thread (or execution context) every time? Does processxmlDoc is called
only when nothing else is executing? Otherwise, how can I use a safe
array?
Cheers
Gabriel
I'm currently building a parser class in JS and I have a question
about variables. I retrieve XML data and then process it. After that, I
process a result array (mydataarray). It looks like this :
function MyClass()
{
var mydataarray = [];
this.processXMLnode = processXMLnode;
this.processxmlDoc = processxmlDoc;
this.processrequest = processrequest;
function processXMLnode(marker) {
// ADD SOMETHING TO mydataarray
}
function processxmlDoc(xmlDoc) {
var markers =
xmlDoc.documentElement.getElementsByTagName("data");
mydataarray = [];
for (var i = 0; i < markers.length; i++) {
processXMLnode(markers);
}
// PROCESS mydataarray
}
function processrequest(url, async) {
var request = XMLHttpRequest.create();
request.open("GET", url, async);
if (async) {
request.onreadystatechange = function() {
if (request.readyState == 4) {
processxmlDoc(request.responseXML);
}
}
request.send(null);
}
else
{
request.send(null);
processxmlDoc(request.responseXML);
}
}
}
I'm not a JS expert, does processxmlDoc will be executed from the same
thread (or execution context) every time? Does processxmlDoc is called
only when nothing else is executing? Otherwise, how can I use a safe
array?
Cheers
Gabriel