在jscript循环中将变量值设置为常量

时间:2019-04-12 11:08:47

标签: javascript loops variables

我正在Jscript(ECMAScript 3)中使用MSXML2.ServerHTTP来检索一些数据-我发送了多个请求(因为每个请求只能检索1000行)。多个请求的数量随总数的变化而变化。请求中包括的功能是一旦接收到数据就处理数据(将其推入数组)。代码类似于以下内容;

var H = []; x = 0
for (var i = 0; i<L; i +=1000)
  {H.push(new ActiveXObject('MSXML2.ServerXMLHTTP'));}

for (var i = 0; i<L; i +=1000)

  {H[x].open('GET', 'https://someurl.com', true); 
   H[x].setRequestHeader('Content-Type', 'application/json'); 
   H[x].onreadystatechange = 
      function(e)
          {if (H[x].readyState === 4 && H[x].status === 200) 
           {J.push(H[x].responseText);}};  

   H[x].send(); x++}

所以发生的是我的循环运行了5次(例如L为4700),并且X从0递增到4-但是,一旦检索到数据,函数“ e”就会查看,然后的值,而不是初始化时的值。

因此,假设第二个数据请求返回了-它看到完成,执行函数e,但是该函数查看x的当前值(5个循环后为5),因此不执行任何操作没有H [5] ...

在该循环中是否可以将x的值设置为常量?

谢谢!

0 个答案:

没有答案