如何一次遍历一个字符串一个数组?

时间:2018-12-14 01:14:07

标签: javascript arrays loops for-loop

好吧,所以我有一个包含10,000+个字符串的HUGE数组,我希望一次在一个数组中循环一个字符串,就像我想等到函数完成移动到数组中的下一个字符串一样。

现在,循环将通过我的函数尽可能快地放入字符串,这是我所没有的,因为这些字符串被插入到ext-*请求中……而且一次发出的请求过多。 ..

这是我的当前代码:

$.get

如果我的解释不够好,请原谅我,而不是投反对票请我解释一下,谢谢:D

3 个答案:

答案 0 :(得分:0)

据我所知,您可能只想使用setInterval来分隔您的请求。

示例:

var sp = ["...", "..."];
var i = 0;
var interval = setInterval(function() {
  if (i >= sp.length) {
    clearInterval(interval);
  } else {
    check(sp[i++]);
  }
}, 5);

答案 1 :(得分:0)

您需要在一个请求中将整个阵列发送到服务器,然后在服务器上对整个阵列进行检查。然后,请求的响应是通过检查的数组。您当前的设计太糟糕了,请不要执行数千个get请求。

答案 2 :(得分:-1)

默认情况下,$.get()是异步的。

  

检查以下链接

     

因此,最好通过将新的属性 async 引入值为 false ,使通话同步(但问题是自jQuery 1.8起就不推荐使用),传递给调用的对象。

但是如果您使用的是jQuery版本> = 1.8,最好不要使用它。

  

如果没有,您可以检查以下链接:

     

注意»这样,for循环中的调用语句将等待请求完成,即,一旦函数返回,则下一次迭代将继续。

最后,我认为,将 Web worker 异步ajax获取请求结合使用将是您应用程序的更好选择。

选中https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers