Javascript 如何在node.js中循环请求

Javascript 如何在node.js中循环请求,javascript,node.js,Javascript,Node.js,因此,我最近开始学习编码,我想知道如何将这个请求进行乘法/循环,而不是只发送一次 request({ url: URL, method: 'GET', json: true }, function (error, response, body){ if(error){ console.log("Error!") } else if(!error && response.statusCode == 200){

因此,我最近开始学习编码,我想知道如何将这个请求进行乘法/循环,而不是只发送一次

request({
    url: URL,
    method: 'GET',
    json: true
}, function (error, response, body){
    if(error){
        console.log("Error!")
    } else if(!error && response.statusCode == 200){
        console.log(chalk.green('Entered successfuly!'))
    }
})

循环将尽可能快地调用函数。相反,将其放入一个调用自身的超时中,以便您可以调节请求

function makeRequest(){
 request({
    url: URL,
    method: 'GET',
    json: true
 }, function (error, response, body){
    if(error){
        console.log("Error!")
    } else if(!error && response.statusCode == 200){
        console.log(chalk.green('Entered successfuly!'))
    }
 })
 setTimeout(makeRequest,1000)
}
makeRequest()

使用setTimeout循环可以随时间多次发送请求:

function sendRequest() {

  setTimeout(function() {

    $.ajax({
        url: 'http://localhost/example',
        method: 'GET',
        json: true
    }, function (error, response, body){
        if(error){
            console.log("Error!")
        } else if(!error && response.statusCode == 200){
            console.log(chalk.green('Entered successfuly!'))
        }
    });

    sendRequest();

  }, 1000);

}

sendRequest();
或作为间隔函数:

function sendRequest() {

  $.ajax({
      url: 'http://localhost/example',
      method: 'GET',
      json: true
  }, function (error, response, body){
      if(error){
         console.log("Error!")
      } else if(!error && response.statusCode == 200){
          console.log(chalk.green('Entered successfuly!'))
      }
  });

}

let interval = setInterval(sendRequest, 1000);
如果您希望发送固定次数的请求,可以修改第一个函数,如下所示:

function sendRequest(i) {

  if (i > 0) {

    setTimeout(function() {

      $.ajax({
          url: 'http://localhost/example',
          method: 'GET',
          json: true
      }, function (error, response, body){
          if(error){
              console.log("Error!")
          } else if(!error && response.statusCode == 200){
              console.log(chalk.green('Entered successfuly!'))
          }
      });

      sendRequest(i - 1);

    }, 1000);

  }

}

sendRequest(3);

“乘法/循环”是什么意思。何时/如何发送另一个请求?你可能不想只做你自己的服务器,为什么要循环请求呢?递归将发生,正如Thomas所说,DDoS攻击。您可能希望发出一个请求并循环数据。请用更多信息和代码更新问题。祝你好运这是对一个页面的请求,我想在这个页面上获得更多的视图,每个请求等于一个视图,我想循环它,这样我就不必反复重新启动代码。不知道我是否解释得很好,对不起。所以你想再翻一页,我想。这里有一个很好的解释,谢谢你!这就是我要找的