setInterval in nodejs

setInterval in nodejs

本文关键字:nodejs in setInterval      更新时间:2023-09-26

我正在发出一个http请求,该请求应该在每分钟运行一次。下面是我的代码

var express = require("express");
var app = express();
var recursive = function () {
    app.get('/', function (req, res) {
        console.log(req);
        //Some other function call in callabck
        res.send('hello world');
    });
    app.listen(8000);
    setTimeout(recursive, 100000);
}
recursive();

根据上面的代码,我必须在每分钟后得到一次响应。但是我得到错误:听 EADDRINUSE。这方面的任何帮助都将非常有帮助。

此代码每分钟发出一次 http 请求:

var http = require('http');
var options = {
  host: 'example.com',
  port: 80,
  path: '/'
};
function request() {
  http.get(options, function(res){
    res.on('data', function(chunk){
       console.log(chunk);
    });
  }).on("error", function(e){
    console.log("Got error: " + e.message);
  });
}
setInterval(request, 60000);

抛出 EADDRINUSE 错误,因为您无法在同一端口中启动服务器两次

它将以以下方式工作:

var express = require("express"),
    app = express(),
    recursive = function (req, res) {
        console.log(req);
        //Some other function call in callabck
        res.send('hello world');
        setTimeout(recursive, 100000);
    };
    app.get('/', recursive);
    app.listen(8000); 
}