如何在不导致运行函数的顺序混乱的情况下循环遍历JQuery

时间:2018-05-10 22:31:14

标签: javascript jquery html

我正在构建一个网络抓取工具,以便从某些网页获取一些特定信息。我有一个表的链接,我想创建一个循环,以便在每次迭代中我的函数可以加载特定网站的html并检查一个短语是否位于该网站。如果短语不存在,则表行将被删除。

我意识到由于某些原因,当我运行循环时,应该抓取单个链接的JQuery函数等待循环结束,然后将同一页面刮掉50次,而不是每次都刮取不同的网页

    //snippet has been simplified to make the problem clear
    //assume urlList is a list of 50 different url's 

    function dataScraper(urlList){  
      for(i in urlList){
        $.get('https://allorigins.me/get?method=raw&url=' + encodeURIComponent(urlList[i]) + '&callback=?', function(data){
          localStorage.setItem("urlHTML"+String(i),data.contents)
          console.log(i) //for example this just prints 49, 50 times instead of printing all the separate values of i
          });
        }
       }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我得知JQuery正在等待加载整个事情,但我如何确保JQuery函数接受每个人(i)而不是max(i)。

免责声明:我是一名自学成才的新手,最近已经找到了JavaScript,HTML和JQuery。如果我遗漏了一些完全明显的东西,请道歉。

0 个答案:

没有答案