使用Node.js每隔一分钟发出一个请求

时间:2015-05-30 03:10:37

标签: javascript node.js

我今天开始在Node.js开发,我认为应用程序执行多个请求以了解服务器的正常运行时间。我需要每个请求完成该功能再次执行作为while循环。
是否可以在Node.js中执行此操作?

我的基本代码

var http = require('http');
var request = require('request');

request({
    url: "http://www.google.com",
    method: "GET",
    timeout: 10000,
    followRedirect: true,
    maxRedirects: 10
},function(error, response, body){
    if(!error && response.statusCode == 200){
        console.log('sucess!');
    }else{
        console.log('error' + response.statusCode);
    }
});

PS:对不起,如果这是一个愚蠢的问题或重复

1 个答案:

答案 0 :(得分:19)

JavaScript具有setInterval功能,同样在NodeJS中。您可以将提供的函数包装到setInterval循环中。

setInterval的参数是(callback, time),其中time以毫秒表示......所以让我们做一些数学运算......

1s = 1000ms1m = 60s,所以60 * 1000 = 60000

var requestLoop = setInterval(function(){
  request({
      url: "http://www.google.com",
      method: "GET",
      timeout: 10000,
      followRedirect: true,
      maxRedirects: 10
  },function(error, response, body){
      if(!error && response.statusCode == 200){
          console.log('sucess!');
      }else{
          console.log('error' + response.statusCode);
      }
  });
}, 60000);

// If you ever want to stop it...  clearInterval(requestLoop)