2017-02-04 8 views
-5

Ich muss eine API kontinuierlich von der Serverseite selbst aufrufen, so dass sie 24/7 jede Sekunde aufgerufen wird. Wie kann ich das erreichen?So rufen Sie eine API kontinuierlich von der Serverseite selbst in Node js/Express js auf?

Ich habe es versucht, wie unten in server.js gezeigt, aber bekommen 'TypeError: request.put ist keine Funktion'.

app.get('/',function(request,response){ 
    setInterval(function(){ 
     request.put('http://localhost:4242/changepaidstatus', function(error,response){ 
      if (error){ 
       console.log(error); 
      } 
      else{ 
       console.log(response); 
      } 
     }); 
    }, 1000); 
}); 
+0

Mögliche Duplikat [eine Funktion alle 60 Sekunden aufrufen] (http://stackoverflow.com/questions/3138756/calling-a-function-every-60-seconds) –

Antwort

1

setInterval() können Sie jede Sekunde eine Funktion wiederholen.

setInterval(() => { 
    // will execute every second 
}, 1000); 

Wie für die API-Aufruf können Sie die request() module verwenden, um jede HTTP-Anfrage machen Sie möchten. Hier ist ein Beispiel von their doc:

var request = require('request'); 
request('http://www.google.com', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Show the HTML for the Google homepage. 
    } 
}) 
+0

bekommen 'TypeError: request.put ist keine Funktion'. –

+0

@ G.Mounika - Ich kann dir nicht genau mit Code helfen, den ich nicht sehen kann. Haben Sie die Anforderungsbibliothek ordnungsgemäß mit NPM installiert? 'request.put()' funktioniert gut, wenn Sie die Dinge richtig machen, also scheint Ihr Code (den ich nicht sehen kann) einen Fehler enthält. – jfriend00

+0

Ich habe die Frage bearbeitet. Bitte sehen Sie es sich einmal an. –

Verwandte Themen